cscope.files
gpsbabel
+gpsbabel.exe
+gpsbabel.fo
+gpsbabel.html
+gpsbabel.pdf
gpsbabel.spec
+
readme.html
Makefile
* Claus Broch
* Curtis E. Mills
* Dave Pawson
+* Daniel Diaz Quintero
* Eric Cloninger
* Etienne Tasse
* Frank Warmerdam
* Fredie Kern <f.kern@xdesy.de>
* Gary Paulson
+* Gunar Megger
* Gustavo Niemeyer <gustavo@niemeyer.net>
* Harald Nordius
* HSA Systems, Sven Dowideit <sven@hsa.com.au>
* Josh McKee
* Justin Broughton <justinbr@earthlink.net>
* Kjeld Jensen
+* Lilian Morinon
* Mark Bradley <mrcb.sf.gpsb@osps.net>
* Oyvind Kaurstad
* P. Rosen
VERSIOND=$(VERSD)$(RELEASE)
VERSIONU=$(VERSU)$(RELEASE)
-DOCVERSION=development
DOCVERSION=@PACKAGE_VERSION@
+# DOCVERSION=development
CC=@CC@
EXEEXT=@EXEEXT@
GBCFLAGS=$(EXTRA_CFLAGS) $(DEBUGGING) -I. -I@srcdir@/coldsync \
$(OPTIMIZATION) @CFLAGS@
LDFLAGS=$(EXTRA_LDFLAGS) @LDFLAGS@
-DESTDIR=/usr/local/
+PREFIX=@prefix@
+INSTALL_DIR=$(DESTDIR)/$(PREFIX)
# OTHER_ROOT=/opt/local # For DarwinPorts on OSX
# OTHER_ROOT=/sw # Uncomment For Fink on OS X.
tef_xml.o maggeo.o pathaway.o vitosmt.o gdb.o bcr.o coto.o \
ignrando.o stmwpp.o msroute.o cst.o nmn4.o mag_pdb.o compegps.o \
yahoo.o unicsv.o wfff_xml.o garmin_txt.o axim_gpb.o gpssim.o \
- wbt-200.o stmsdf.o gtrnctr.o dmtlog.o
+ wbt-200.o stmsdf.o gtrnctr.o dmtlog.o raymarine.o alan.o
FILTERS=position.o radius.o duplicate.o arcdist.o polygon.o smplrout.o \
reverse_route.o sort.o stackfilter.o trackfilter.o discard.o \
all: gpsbabel$(EXEEXT)
-gpsbabel$(EXEEXT): $(OBJS) @GPSBABEL_DEBUG@ Makefile configure
+gpsbabel$(EXEEXT): configure Makefile $(OBJS) @GPSBABEL_DEBUG@
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@
gpsbabel-debug: $(OBJS)
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EFENCE_LIB@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@
-Makefile: Makefile.in config.status
+Makefile gbversion.h: Makefile.in config.status xmldoc/makedoc.in gbversion.h.in
CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-globals.o:
- $(CC) @CPPFLAGS@ -c $(GBCFLAGS) -DVERSION=\"$(VERSIOND)\" $< $(OUTPUT_SWITCH)$@
+config.status: configure
+ $(SHELL) config.status --recheck
jeeps/gpslibusb.o:
$(CC) @CPPFLAGS@ -c $(GBCFLAGS) @USB_CFLAGS@ @srcdir@/jeeps/gpslibusb.c $(OUTPUT_SWITCH)$@
configure: configure.in
autoconf
+tag:
+ cvs commit
+ cvs tag gpsbabel_@GBMAJOR@_@GBMINOR@_@GBMICRO@@PACKAGE_RELEASE@
+
more-clean: clean
tools/mkmoreclean
./testo
torture:
- ./testo
- ./torture_test
+ @echo "testo in progress... (basic data integrity test)"
+ @./testo
+ @echo "vtesto in progress... (valgrind is watching testo)"
+ @./vtesto
+ @echo "torture_test in progress... (shortname reduction)"
+ @./torture_test
+#
+# Because there are some "non-real" errors like "IGC: bad date"
+# test-all does not stop on errors.
+# Please inspect the log file (/tmp/gb-test-all.log) for segmentation
+# faults, math overflows and other hard errors
+#
+ @echo "test-all in progress... (read/write test between all possible formats)"
+ @./test-all -s -r reference/expertgps.gpx
#
# This will only work on UNIX-like substances.
#
install: @INSTALL_DEBUG@
- install gpsbabel $(DESTDIR)/bin
+ @mkdir -p $(INSTALL_DIR)/bin
+ install gpsbabel $(INSTALL_DIR)/bin/
install-debug:
- install gpsbabel-debug $(DESTDIR)/bin
+ @mkdir -p $(INSTALL_DIR)/bin
+ install gpsbabel-debug $(INSTALL_DIR)/bin/
# Nerdy release stuff that needs to work only on Linux.
echo Edit Makefile.in and bring in /tmp/dep
$(WEB)/htmldoc-$(DOCVERSION)/readme.html: FORCE
+ mkdir -p $(WEB)/htmldoc-$(DOCVERSION)
perl xmldoc/makedoc
xmlwf xmldoc/readme.xml #check for well-formedness
xmllint --noout --valid xmldoc/readme.xml #validate
chmod 755 tools/mkcapabilities
tools/mkcapabilities
+#
+# The .fo and PDF versions depend on additional tools.
+# 'fop' must be obtained from http://xmlgraphics.apache.org/fop/
+# 0.92beta seems to work OK, BUT.
+# * If you have a package called 'docbook-xml-website' it's reported
+# to prevent the build from working. Remove it. (Suse)
+# * Sun Java seems to be required. GCJ 1.4.2 doesn't work. You can
+# force Sun Java to be used by creating ~/.foprc with 'rpm_mode=' (Fedora)
+# Get it from http://www.java.com
+# The Hypnenation package must be installed from
+# http://offo.sourceforge.net/hyphenation/index.html - be sure to get the
+# version that corresponds to the version of FOP that you used above.
+# The docbook XSL must be 1.71.1 or higher.
+# * Remember to update /etc/xml/catalogs if you manually update this.
+#
+gpsbabel.fo: FORCE
+ perl xmldoc/makedoc
+ xmlwf xmldoc/readme.xml #check for well-formedness
+ xmllint --noout --valid xmldoc/readme.xml #validate
+ xsltproc -o $@ xmldoc/babelpdf.xsl xmldoc/readme.xml
+
+gpsbabel.pdf: gpsbabel.fo
+ fop -q -fo gpsbabel.fo -pdf gpsbabel.pdf
+ cp gpsbabel.pdf $(WEB)/htmldoc-$(DOCVERSION)/gpsbabel-$(DOCVERSION).pdf
+
+
gpsbabel.html: FORCE
xsltproc \
--stringparam toc.section.depth "1" \
readme.txt: gpsbabel.html
lynx -nolist -dump gpsbabel.html > $@
-doc: gpsbabel $(WEB)/htmldoc-$(DOCVERSION)/readme.html # readme.txt
+doc: gpsbabel $(WEB)/htmldoc-$(DOCVERSION)/readme.html gpsbabel.pdf # readme.txt
FORCE:
make clean
rm -fr gpsbabel-$(VERSIOND)
#rjl make gpsbabel doc gpsbabel.html
- @(. tools/functions && ask "Enter 'y' to tag the tree." "y") && cvs tag -F gpsbabel_$(VERSIONU) ; exit 0
+ @(. tools/functions && ask "Enter 'y' to tag the tree as gpsbabel_$(VERSIONU)." "y") && cvs tag -F gpsbabel_$(VERSIONU) ; exit 0
cvs export -r gpsbabel_$(VERSIONU) -d gpsbabel-$(VERSIOND) gpsbabel
touch gpsbabel-$(VERSIOND)/internal_styles.c
# Do this build in a temporary tree that was a copy of the tagged one
# to avoid scribbling in the "real" one.
#
+# The cross builds are built with mingw. http://mirzam.it.vu.nl/mingw
+# and http://mingw.sourceforge.net are convenient sources for that.
+# binutils, runtime, w32api, and gcc-core seem to be required.
+#
+
release-winbuild:
rm -fr /tmp/gpsbabel-$(VERSIOND)-cross
cp -a gpsbabel-$(VERSIOND) /tmp/gpsbabel-$(VERSIOND)-cross
rm -fr /tmp/gpsbabel-$(VERSIOND)-cross
release-upload: /tmp/gpsbabel-$(VERSIOND).tar.gz /tmp/gpsbabel-$(VERSIOND).zip /tmp/dist/SRPMS/gpsbabel-$(VERSIOND)-0.src.rpm /tmp/dist/RPMS/i386/gpsbabel-$(VERSIOND)-0.i386.rpm
- @(. tools/functions && ask "Type yes if you want to do the upload now" "yes" )
+ @(. tools/functions && ask "Type 'yes' if you want to do the upload now" "yes" )
curl -u anonymous:anonymous --upload-file /tmp/gpsbabel-$(VERSIOND).tar.gz ftp://upload.sf.net/incoming/
curl -u anonymous:anonymous --upload-file /tmp/gpsbabel-$(VERSIOND).zip ftp://upload.sf.net/incoming/
curl -u anonymous:anonymous --upload-file /tmp/dist/SRPMS/gpsbabel-$(VERSIOND)-0.src.rpm ftp://upload.sf.net/incoming/
release: release-sourcecheck release-tarball release-winbuild release-rpm release-upload
-rpm: clean
- tools/mkrpm $(VERSD) $(RELEASE)
+rpm:
+ tools/mkrpm $(WEB) $(VERSD) $(RELEASE)
mac-release:
mkdir -p usr/bin usr/share/gpsbabel/doc
LINK.EXE /NOLOGO @objs.lst ./msvc/expat/libexpat.lib /out:gpsbabel.exe
# Machine generated from here down.
+alan.o: alan.c defs.h config.h queue.h gbtypes.h zlib/zlib.h zlib/zconf.h \
+ gbfile.h cet.h cet_util.h inifile.h
an1.o: an1.c defs.h config.h queue.h gbtypes.h zlib/zlib.h zlib/zconf.h \
gbfile.h cet.h cet_util.h inifile.h an1sym.h
arcdist.o: arcdist.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
gbfile.h cet.h cet_util.h inifile.h strptime.h
csv_util.o: csv_util.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h csv_util.h grtcirc.h \
- strptime.h
+ strptime.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \
+ jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \
+ jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \
+ jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \
+ jeeps/gpsproj.h
delgpl.o: delgpl.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h
discard.o: discard.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h \
jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h garmin_tables.h
globals.o: globals.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
- zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h
+ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h gbversion.h
glogbook.o: glogbook.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h xmlgeneric.h
google.o: google.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h coldsync/palm.h \
coldsync/../gbtypes.h coldsync/pdb.h csv_util.h strptime.h
pcx.o: pcx.c defs.h config.h queue.h gbtypes.h zlib/zlib.h zlib/zconf.h \
- gbfile.h cet.h cet_util.h inifile.h garmin_tables.h
+ gbfile.h cet.h cet_util.h inifile.h garmin_tables.h csv_util.h
polygon.o: polygon.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h filterdefs.h
position.o: position.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
coldsync/palm.h coldsync/../gbtypes.h coldsync/pdb.h
radius.o: radius.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h filterdefs.h grtcirc.h
+raymarine.o: raymarine.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
+ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h csv_util.h
reverse_route.o: reverse_route.c defs.h config.h queue.h gbtypes.h \
zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h \
filterdefs.h
wfff_xml.o: wfff_xml.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h xmlgeneric.h
xcsv.o: xcsv.c defs.h config.h queue.h gbtypes.h zlib/zlib.h zlib/zconf.h \
- gbfile.h cet.h cet_util.h inifile.h csv_util.h
+ gbfile.h cet.h cet_util.h inifile.h csv_util.h jeeps/gpsmath.h \
+ jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h jeeps/gpsdevice.h \
+ jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \
+ jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \
+ jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h
xmlgeneric.o: xmlgeneric.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h xmlgeneric.h
xmltag.o: xmltag.c defs.h config.h queue.h gbtypes.h zlib/zlib.h \
zlib/zconf.h zlib/trees.h
zlib/uncompr.o: zlib/uncompr.c zlib/zlib.h zlib/zconf.h
zlib/zutil.o: zlib/zutil.c zlib/zutil.h zlib/zlib.h zlib/zconf.h
-internal_styles.c: mkstyle.sh style/arc.style style/cambridge.style style/csv.style style/cup.style style/custom.style style/dna.style style/fugawi.style style/garmin301.style style/garmin_poi.style style/geonet.style style/gpsdrive.style style/gpsdrivetrack.style style/gpsman.style style/ktf2.style style/kwf2.style style/mapconverter.style style/mxf.style style/nima.style style/openoffice.style style/s_and_t.style style/saplus.style style/sportsim.style style/tabsep.style style/xmap2006.style style/xmap.style style/xmapwpt.style
+internal_styles.c: mkstyle.sh style/arc.style style/cambridge.style style/csv.style style/cup.style style/custom.style style/dna.style style/fugawi.style style/garmin301.style style/garmin_poi.style style/geonet.style style/gpsdrive.style style/gpsdrivetrack.style style/gpsman.style style/kompass_tk.style style/kompass_wp.style style/ktf2.style style/kwf2.style style/mapconverter.style style/mxf.style style/nima.style style/openoffice.style style/s_and_t.style style/saplus.style style/sportsim.style style/tabsep.style style/xmap2006.style style/xmap.style style/xmapwpt.style
./mkstyle.sh > internal_styles.c || (rm -f internal_styles.c ; exit 1)
--- /dev/null
+/*
+
+ Read/write Alan Map500 Waypoints, Routes and Tracklogs.
+
+ Provides "alanwpr" and "alantrl" formats for gpsbabel.
+ Currently supports OS 2.xx only.
+
+ Copyright (C) 2007 Gunar Megger, 0xff@quantentunnel.de
+ Copyright (C) 2005 Robert Lipe, robertlipe@usa.net
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA
+
+ */
+
+#include <stdio.h>
+#include <time.h>
+#include "defs.h"
+
+
+#define MYNAME "alan"
+
+#define MAXWPT 1000 /* old 500 */
+
+#define MAXRTE 50 /* old 20 */
+#define MAXWPTINRTE 150 /* old 30 */
+
+#define MAXTRK 8 /* old 5 */
+#define MAXPTINTRK 2500
+
+#define WPT_NAME_LEN 8
+#define WPT_COMMENT_LEN 12
+
+#define RTE_NAME_LEN 8
+#define RTE_COMMENT_LEN 12
+
+#define TRK_NAME_LEN 12
+#define TRK_COMMENT_LEN 13
+
+struct wpthdr {
+ gbuint32 id;
+ gbint16 num;
+ gbint16 next;
+ gbint16 idx[MAXWPT];
+ gbuint8 used[MAXWPT];
+};
+
+struct wpt {
+ char name[WPT_NAME_LEN];
+ char comment[WPT_COMMENT_LEN];
+ struct {
+ gbint32 x; /* degree * 36000 */
+ gbint32 y; /* degree * 36000 */
+ } pt;
+ gbint32 date;
+ gbint32 time;
+ gbint16 usecount;
+ gbint8 checked;
+ gbint8 reserved;
+};
+
+struct rtehdr {
+ gbuint32 id;
+ gbint16 num;
+ gbint16 next;
+ gbint16 idx[MAXRTE];
+ gbuint8 used[MAXRTE];
+ gbint16 rteno;
+};
+
+struct rte {
+ char name[RTE_NAME_LEN];
+ char comment[RTE_COMMENT_LEN];
+ gbint16 wptnum;
+ gbint16 wptidx[MAXWPTINRTE];
+ gbint16 reserved;
+ gbint32 date;
+ gbint32 time;
+};
+
+struct wprdata {
+ struct wpthdr wpthdr;
+ struct wpt wpt[MAXWPT];
+ struct rtehdr rtehdr;
+ struct rte rte[MAXRTE];
+};
+
+struct trkhdr {
+ gbint16 totalpt;
+ gbint16 next;
+ char name[TRK_NAME_LEN]; /* 10, null terminated */
+ char comment[TRK_COMMENT_LEN]; /* 12, null terminated */
+ gbuint8 reserved[3];
+ gbuint32 occupied;
+ gbuint32 show;
+ gbuint32 fill;
+};
+
+struct loghdr {
+ gbuint32 id;
+ gbint16 num;
+ gbint16 next;
+ gbint32 date;
+ gbint32 time;
+ struct trkhdr trkhdr[MAXTRK];
+};
+
+struct trklog {
+ struct {
+ gbint32 x; /* degree * 36000 */
+ gbint32 y; /* degree * 36000 */
+ } pt[MAXPTINTRK];
+ struct {
+ gbint16 speed; /* km/h * 200 */
+ gbint16 height; /* m * 5 */
+ } sh[MAXPTINTRK];
+};
+
+struct trldata {
+ struct loghdr loghdr;
+ struct trklog trklog[MAXTRK];
+};
+
+#define WPT_HDR_ID 0x5C38A600
+#define RTE_HDR_ID 0xD87F5900
+#define TRL_HDR_ID 0x38CB1200
+
+#define WPT_IDX_NONE -1 /* 0xffff */
+#define WPT_USED 0xff
+#define WPT_UNUSED 0
+#define WPT_CHECKED 1
+#define WPT_UNCHECKED 0
+
+#define RTE_IDX_NONE -1 /* 0xffff */
+#define RTE_USED 0xff
+#define RTE_UNUSED 0
+#define RTE_RTENO_NONE -1
+
+#define TRK_USED 1
+#define TRK_UNUSED 0
+#define TRK_SHOW 1
+#define TRK_HIDE 0
+#define TRK_FILL 1
+#define TRK_WRAP 0
+
+#define MAP500_PT_SCALE 36000.0
+#define pt2deg(P) ((double)(P) / MAP500_PT_SCALE)
+#define deg2pt(D) (gbint32)si_round((double)(D) * MAP500_PT_SCALE)
+
+#define MAP500_ALTITUDE_SCALE 5.0
+#define hgt2m(A) ((double)(A) / MAP500_ALTITUDE_SCALE)
+#define m2hgt(A) (gbint16)si_round((double)(A) * MAP500_ALTITUDE_SCALE)
+
+#define MAP500_SPEED_SCALE 720.0
+#define sp2mps(S) ((double)(S) / MAP500_SPEED_SCALE)
+#define mps2sp(S) (gbint16)si_round((double)(S) * MAP500_SPEED_SCALE)
+
+#define BYTEORDER_TEST 0x04030201 /* 32bit reference value */
+enum {
+ SWAP_NONE = 0x1234, /* map500 regular */
+ SWAP_BYTES = 0x2143, /* bytes swapped */
+ SWAP_WORDS = 0x3412, /* words swapped */
+ SWAP_BOTH = 0x4321 /* words + bytes swapped */
+};
+
+/**************************************************************************/
+
+static gbfile *fin = NULL, *fout = NULL;
+struct wprdata WPR;
+struct trldata TRL;
+
+static arglist_t wpr_args[] = {
+ /*
+ {"os3", &osversion, "Operating system version 3",
+ NULL, ARGTYPE_BOOL, ARGNOMINMAX },
+ */
+ ARG_TERMINATOR
+};
+static arglist_t trl_args[] = {
+ /*
+ {"os3", &osversion, "Operating system version 3",
+ NULL, ARGTYPE_BOOL, ARGNOMINMAX },
+ */
+ ARG_TERMINATOR
+};
+
+/**************************************************************************/
+
+static unsigned int byte_order(void) {
+ unsigned long test = BYTEORDER_TEST;
+ unsigned char *ptr;
+ unsigned int order;
+
+ ptr = (unsigned char *)(&test);
+ order = (ptr[0] << 12) | (ptr[1] << 8) | (ptr[2] << 4) | ptr[3];
+
+ return order;
+}
+
+static void sw_bytes(void *word) {
+ gbuint8 *p = word;
+ gbuint16 *r = word;
+
+ *r = (gbuint16)(p[1] << 8 | p[0]);
+}
+static void sw_words(void *dword) {
+ gbuint16 *p = dword;
+ gbuint32 *r = dword;
+
+ *r = (gbuint32)(p[0] << 16 | p[1]);
+}
+static void rev_bytes(void *dword) {
+ gbuint8 *p = dword;
+ gbuint32 *r = dword;
+
+ *r = (gbuint32)(p[3] << 24 | p[2] << 16 | p[1] << 8 | p[0]);
+}
+
+static void swap_wpthdr(struct wpthdr *wpthdr,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ int i;
+
+ if ( swap32 != NULL ) {
+ swap32( &wpthdr->id );
+ }
+ if ( swap16 != NULL ) {
+ swap16( &wpthdr->num );
+ swap16( &wpthdr->next );
+ for (i=0; i<MAXWPT; i++)
+ swap16( &wpthdr->idx[i] );
+ }
+}
+
+static void swap_wpt(struct wpt *wpt,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ if ( swap16 != NULL ) {
+ swap16( &wpt->usecount );
+ }
+ if ( swap32 != NULL ) {
+ swap32( &wpt->pt.x );
+ swap32( &wpt->pt.y );
+ swap32( &wpt->date );
+ swap32( &wpt->time );
+ }
+}
+
+static void swap_rtehdr(struct rtehdr *rtehdr,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ int i;
+
+ if ( swap16 != NULL) {
+ swap16( &rtehdr->num );
+ swap16( &rtehdr->next );
+ for (i=0; i<MAXRTE; i++)
+ swap16( &rtehdr->idx[i] );
+ swap16( &rtehdr->rteno );
+ }
+ if ( swap32 != NULL ) {
+ swap32( &rtehdr->id );
+ }
+}
+
+static void swap_rte(struct rte *rte,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ int i;
+
+ if (swap16 != NULL) {
+ swap16( &rte->wptnum );
+ for (i=0; i<MAXWPTINRTE; i++)
+ swap16( &rte->wptidx[i] );
+ swap16( &rte->reserved );
+ }
+ if ( swap32 != NULL ) {
+ swap32( &rte->date );
+ swap32( &rte->time );
+ }
+}
+
+static void wpr_swap(struct wprdata *wprdata) {
+ void (*swap16)(void *);
+ void (*swap32)(void *);
+ int i;
+
+ switch( byte_order() ) {
+ case SWAP_NONE: /* same byte oder, LITTLE_ENDIAN */
+ return;
+ break;
+ case SWAP_BOTH: /* swap words and bytes, BIG_ENDIAN */
+ swap16 = sw_bytes;
+ swap32 = rev_bytes;
+ break;
+ case SWAP_WORDS: /* swap words, PDP_ENDIAN */
+ swap16 = NULL;
+ swap32 = sw_words;
+ break;
+ case SWAP_BYTES: /* swap bytes */
+ swap16 = sw_bytes;
+ swap32 = NULL;
+ break;
+ default:
+ return; /* never reached */
+ }
+
+ swap_wpthdr( &(wprdata->wpthdr), swap16, swap32 );
+ for (i=0; i< MAXWPT; i++)
+ swap_wpt( &(wprdata->wpt[i]), swap16, swap32 );
+ swap_rtehdr( &(wprdata->rtehdr), swap16, swap32 );
+ for (i=0; i<MAXRTE; i++)
+ swap_rte( &(wprdata->rte[i]), swap16, swap32 );
+}
+
+static void swap_trkhdr(struct trkhdr *trkhdr,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ if ( swap16 != NULL ) {
+ swap16( &(trkhdr->totalpt) );
+ swap16( &(trkhdr->next) );
+ }
+ if ( swap32 != NULL ) {
+ swap32( &(trkhdr->occupied) );
+ swap32( &(trkhdr->show) );
+ swap32( &(trkhdr->fill) );
+ }
+}
+
+static void swap_loghdr(struct loghdr *loghdr,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ int i;
+
+ if ( swap16 != NULL ) {
+ swap16( &(loghdr->num) );
+ swap16( &(loghdr->next) );
+ }
+ if ( swap32 != NULL ) {
+ swap32( &(loghdr->id) );
+ swap32( &(loghdr->date) );
+ swap32( &(loghdr->time) );
+ }
+ for (i=0; i<MAXTRK; i++)
+ swap_trkhdr( &(loghdr->trkhdr[i]), swap16, swap32 );
+}
+
+static void swap_trklog(struct trklog *trklog,
+ void (*swap16)(void *), void (*swap32)(void *)) {
+ int i;
+
+ if ( swap16 != NULL ) {
+ for (i=0; i<MAXPTINTRK; i++) {
+ swap16( &(trklog->sh[i].speed) );
+ swap16( &(trklog->sh[i].height) );
+ }
+ }
+ if ( swap32 != NULL ) {
+ for (i=0; i<MAXPTINTRK; i++) {
+ swap32( &(trklog->pt[i].x) );
+ swap32( &(trklog->pt[i].y) );
+ }
+ }
+}
+
+static void trl_swap(struct trldata *trldata) {
+ void (*swap16)(void *);
+ void (*swap32)(void *);
+ int i;
+
+ switch( byte_order() ) {
+ case SWAP_NONE: /* same byte oder, LITTLE_ENDIAN */
+ return;
+ break;
+ case SWAP_BOTH: /* swap words and bytes, BIG_ENDIAN */
+ swap16 = sw_bytes;
+ swap32 = rev_bytes;
+ break;
+ case SWAP_WORDS: /* swap words, PDP_ENDIAN */
+ swap16 = NULL;
+ swap32 = sw_words;
+ break;
+ case SWAP_BYTES: /* swap bytes */
+ swap16 = sw_bytes;
+ swap32 = NULL;
+ break;
+ default:
+ return; /* never reached */
+ }
+
+ swap_loghdr( &(trldata->loghdr), swap16, swap32);
+ for (i=0; i<MAXTRK; i++)
+ swap_trklog( &(trldata->trklog[i]), swap16, swap32);
+}
+
+
+/**************************************************************************/
+
+static void str2lab(char *dest, char *src, int len, char *fmt, int n) {
+ int i,j;
+
+ j = 0;
+ if (src != NULL) {
+ for (i=0; i<len && src[i] != '\0'; i++) {
+ if (isprint(src[i]))
+ dest[j++] = src[i];
+ }
+ }
+ if (j == 0 && fmt != NULL) {
+ snprintf(dest, len, fmt, n);
+ j = strlen(dest);
+ }
+ if ( j < len )
+ memset(dest+j, ' ', len-j);
+}
+
+static void pack_time(time_t t, gbint32 *date, gbint32 *time) {
+ struct tm *tm;
+
+ tm = gmtime(&t);
+ *date = tm->tm_mday | ((tm->tm_mon+1)<<8) | ((tm->tm_year+1900)<<16);
+ *time = t % 86400;
+}
+
+static time_t unpack_time(gbint32 date, gbint32 time) {
+ time_t result;
+ short year, month, day;
+ static int m_to_d[12] =
+ {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
+
+ year = (date >> 16) & 0xffff;
+ month = (date >> 8) & 0xff; /* 1-12 */
+ day = date & 0xff; /* 1-31 */
+
+ month -= 1; /* fit struct tm */
+ year += month / 12;
+
+ if (month < 0) {
+ year -= 1;
+ month += 12;
+ }
+ result = (year - 1970) * 365 + m_to_d[month];
+ if (month <= 1)
+ year -= 1;
+ result += (year - 1968) / 4;
+ result -= (year - 1900) / 100;
+ result += (year - 1600) / 400;
+ result += day;
+ result -= 1;
+ result *= 86400;
+ result += time; /* map500 time is inseconds of the day */
+
+ return result;
+}
+
+/**************************************************************************/
+
+static waypoint * get_wpt(struct wprdata *wprdata, unsigned n) {
+ struct wpthdr *wpthdr;
+ struct wpt *wpt;
+ int j, idx;
+ waypoint *WP;
+
+ wpthdr = &(wprdata->wpthdr);
+ idx = wpthdr->idx[n];
+
+ if (idx == WPT_IDX_NONE || wpthdr->used[idx] == WPT_UNUSED)
+ return NULL;
+ wpt = &(wprdata->wpt[idx]);
+
+ WP = waypt_new();
+ WP->latitude = -pt2deg(wpt->pt.y);
+ WP->longitude = pt2deg(wpt->pt.x);
+ WP->creation_time = unpack_time(wpt->date, wpt->time);
+ for(j=WPT_NAME_LEN-1; j >= 0 && wpt->name[j] == ' '; j--) {};
+ WP->shortname = xstrndup(wpt->name,j+1);
+ for(j=WPT_COMMENT_LEN-1; j >= 0 && wpt->comment[j] == ' '; j--) {};
+ if (j >= 0)
+ WP->description = xstrndup(wpt->comment, j+1);
+ else
+ WP->description = xstrdup("");
+ WP->notes = xstrdup("");
+
+ return WP;
+}
+
+static void wpr_read(void) {
+ struct wprdata wprdata;
+ struct rtehdr *rtehdr;
+ struct rte *rte;
+ int i, j, idx;
+ waypoint *WP;
+ route_head *RT;
+
+ if ( gbfread(&wprdata, sizeof(struct wprdata), 1, fin) != 1 )
+ fatal(MYNAME ": Read error on %s\n", fin->name);
+ wpr_swap(&wprdata);
+ if ( wprdata.wpthdr.id != WPT_HDR_ID ||
+ wprdata.rtehdr.id != RTE_HDR_ID )
+ fatal(MYNAME ": %s is not in Alan .wpr format.\n", fin->name);
+
+ /* waypoints */
+ for (i=0; i<MAXWPT; i++) {
+ WP = get_wpt(&wprdata, i);
+ if ( WP != NULL )
+ waypt_add(WP);
+ }
+
+ /* routes */
+ rtehdr = &(wprdata.rtehdr);
+ for (i=0; i<MAXRTE; i++) {
+ idx = rtehdr->idx[i];
+ if (idx == RTE_IDX_NONE || rtehdr->used[idx] == RTE_UNUSED)
+ continue;
+ rte = &(wprdata.rte[idx]);
+
+ RT = route_head_alloc();
+ RT->rte_num = i;
+ for(j=RTE_NAME_LEN-1; j >= 0 && rte->name[j] == ' '; j--) {};
+ RT->rte_name = xstrndup(rte->name,j+1);
+ for(j=RTE_COMMENT_LEN-1; j >= 0 && rte->comment[j] == ' '; j--) {};
+ if (j >= 0)
+ RT->rte_desc = xstrndup(rte->comment,j+1);
+ else
+ RT->rte_desc = xstrdup("");
+
+ route_add_head(RT);
+
+ /* route points */
+ for(j=0; j<rte->wptnum; j++) {
+ WP = get_wpt(&wprdata, rte->wptidx[j]);
+ if ( WP != NULL )
+ route_add_wpt(RT, WP);
+ }
+ }
+}
+
+static void trl_read(void) {
+ struct trldata trldata;
+ struct trkhdr *trkhdr;
+ struct trklog *trklog;
+ waypoint *WP;
+ route_head *TL;
+ int i, j;
+
+ for (i=0; i<MAXTRK; i+=2) {
+ gbfseek(fin, 0x10000 * (i/2), SEEK_SET);
+ if ( gbfread( &(trldata.trklog[i]), sizeof(struct trklog), 2, fin) != 2)
+ fatal(MYNAME ": Read error on %s\n", fin->name);
+ }
+ gbfseek(fin, 0x10000 * MAXTRK/2, SEEK_SET);
+ if ( gbfread( &(trldata.loghdr), sizeof(struct loghdr), 1, fin) != 1)
+ fatal(MYNAME ": Read error on %s\n", fin->name);
+ trl_swap(&trldata);
+ if ( trldata.loghdr.id != TRL_HDR_ID )
+ fatal(MYNAME ": %s is not in Alan .trl format.\n", fin->name);
+
+ for(i=0; i<MAXTRK; i++) {
+ /* track header */
+ trkhdr = &(trldata.loghdr.trkhdr[i]);
+ if (trkhdr->occupied == TRK_UNUSED)
+ continue;
+ TL = route_head_alloc();
+ for(j=TRK_NAME_LEN-1;
+ j >= 0 && (trkhdr->name[j] == ' ' || trkhdr->name[j] == '\0');
+ j--) {};
+ TL->rte_name = xstrndup(trkhdr->name,j+1);
+ for(j=TRK_COMMENT_LEN-1;
+ j >= 0 && (trkhdr->comment[j] == ' ' || trkhdr->comment[j] == '\0');
+ j--) {};
+ TL->rte_desc = xstrndup(trkhdr->comment,j+1);
+ TL->rte_num = i;
+
+ track_add_head(TL);
+
+ /* track points */
+ trklog = &(trldata.trklog[i]);
+ for(j=0; j<trkhdr->totalpt; j++) {
+ WP = waypt_new();
+ WP->latitude = -pt2deg(trklog->pt[j].y);
+ WP->longitude = pt2deg(trklog->pt[j].x);
+ WP->altitude = hgt2m(trklog->sh[j].height);
+ if ( trklog->sh[j].speed >= 0 )
+ WP->speed = sp2mps(trklog->sh[j].speed);
+ else /* bad speed < 0 - set to 0.0 */
+ WP->speed = unknown_speed;
+ track_add_wpt(TL, WP);
+ }
+ }
+}
+
+/**************************************************************************/
+
+static int find_wpt(struct wprdata *wprdata, const waypoint *WP) {
+ struct wpt pattern, *wpt;
+ int i, wpt_idx;
+
+ str2lab(pattern.name, WP->shortname, WPT_NAME_LEN, NULL, 0);
+ pattern.pt.x = deg2pt(WP->longitude);
+ pattern.pt.y = deg2pt(-WP->latitude);
+
+ wpt = wprdata->wpt;
+ for (i=0; i<MAXWPT; i++) {
+ wpt_idx = wprdata->wpthdr.idx[i];
+ if ( wpt_idx == WPT_IDX_NONE ||
+ wprdata->wpthdr.used[wpt_idx] == WPT_UNUSED )
+ continue;
+ if ( strncmp( wpt[wpt_idx].name, pattern.name, WPT_NAME_LEN) == 0 &&
+ wpt[wpt_idx].pt.x == pattern.pt.x &&
+ wpt[wpt_idx].pt.y == pattern.pt.y )
+ return i;
+ }
+
+ return -1;
+}
+
+static int add_wpt(struct wprdata *wprdata, const waypoint *WP,int isroute) {
+ struct wpthdr *wpthdr;
+ int hdr_idx, wpt_idx;
+ struct wpt *wpt;
+ int i;
+
+ wpthdr = &(wprdata->wpthdr);
+
+ hdr_idx = find_wpt(wprdata, WP);
+ if ( hdr_idx >= 0 ) {
+ /* duplicate waypoint */
+ if (isroute) {
+ wpt = &(wprdata->wpt[wpthdr->idx[hdr_idx]]);
+ wpt->usecount ++;
+ }
+ /*
+ warning(MYNAME ": using duplicate waypoint '%s' at (%f°, %f°)\n",
+ WP->shortname, WP->latitude, WP->longitude);
+ */
+ return hdr_idx;
+ }
+
+ for (i=0; i<MAXWPT && wpthdr->idx[i] != WPT_IDX_NONE; i++) { }
+ hdr_idx = i;
+ for (i=0; i<MAXWPT && wpthdr->used[i] != WPT_UNUSED; i++) { }
+ wpt_idx = i;
+ if (wpthdr->num >= MAXWPT || hdr_idx >= MAXWPT || wpt_idx >= MAXWPT )
+ fatal(MYNAME ": Can't store more than %u waypoints\n", MAXWPT);
+
+ wpt = &(wprdata->wpt[wpt_idx]);
+ str2lab(wpt->name, WP->shortname, WPT_NAME_LEN, "W%05d", wpt_idx);
+ str2lab(wpt->comment, WP->description, WPT_COMMENT_LEN, NULL, 0);
+ wpt->pt.x = deg2pt(WP->longitude);
+ wpt->pt.y = deg2pt(-WP->latitude);
+ wpt->usecount = isroute ? 1 : 0;
+ wpt->checked = isroute ? 0 : 1;
+ wpt->reserved = 0;
+ pack_time(WP->creation_time, &(wpt->date), &(wpt->time));
+
+ wpthdr->idx[hdr_idx] = wpt_idx;
+ wpthdr->used[wpt_idx] = WPT_USED;
+ wpthdr->num++;
+ wpthdr->next++;
+ if (wpthdr->next >= MAXWPT) /* overrun */
+ wpthdr->next = 0;
+
+ return hdr_idx;
+}
+
+static void wpr_waypoint(const waypoint *WP) {
+ add_wpt(&WPR, WP, 0);
+}
+
+static void wpr_route_hdr(const route_head *RT) {
+ struct rtehdr *rtehdr;
+ int hdr_idx, rte_idx;
+ struct rte *rte;
+ int i;
+
+ rtehdr = &(WPR.rtehdr);
+ for (i=0; i<MAXRTE && rtehdr->idx[i] != RTE_IDX_NONE; i++) { }
+ hdr_idx = i;
+ for (i=0; i<MAXRTE && rtehdr->used[i] != RTE_UNUSED; i++) { }
+ rte_idx = i;
+ if (rtehdr->num >= MAXRTE || hdr_idx >= MAXRTE || rte_idx >= MAXRTE )
+ fatal(MYNAME ": Can't store more than %u routes", MAXRTE);
+
+ rte = &(WPR.rte[rte_idx]);
+ str2lab(rte->name, RT->rte_name, RTE_NAME_LEN, "R%03d", rte_idx);
+ str2lab(rte->comment, RT->rte_desc, RTE_COMMENT_LEN, NULL, 0);
+ pack_time(time(NULL), &(rte->date), &(rte->time));
+
+ rtehdr->idx[hdr_idx] = rte_idx;
+ rtehdr->used[rte_idx] = RTE_USED;
+ rtehdr->num++;
+ rtehdr->next++;
+ if (rtehdr->next >= MAXRTE) /* overrun */
+ rtehdr->next = 0;
+
+ /* if you want the new route to be active, uncomment the next line */
+ /* rtehdr->rteno = rte_idx; */
+}
+
+static void wpr_route_wpt(const waypoint *WP) {
+ struct rte *rte;
+ int wpt_idx;
+
+ rte = &(WPR.rte[WPR.rtehdr.num -1]);
+ if ( rte->wptnum >= MAXWPTINRTE )
+ fatal(MYNAME ": Can't store more than %u waypoints per route", MAXWPTINRTE);
+
+ wpt_idx = add_wpt(&WPR, WP, 1);
+
+ rte->wptidx[rte->wptnum] = wpt_idx;
+ rte->wptnum ++;
+}
+
+static void wpr_route_trl(const route_head *RT) {
+ /* should we do some final sanity checks? */
+}
+
+static void wpr_write(void) {
+ int i;
+
+ WPR.wpthdr.id = WPT_HDR_ID;
+ WPR.wpthdr.num = WPR.wpthdr.next = 0;
+ for (i=0; i<MAXWPT; i++) {
+ WPR.wpthdr.idx[i] = WPT_IDX_NONE;
+ WPR.wpthdr.used[i] = WPT_UNUSED;
+ }
+ memset(WPR.wpt, 0, MAXWPT * sizeof(struct wpt));
+ WPR.rtehdr.id = RTE_HDR_ID;
+ WPR.rtehdr.num = WPR.rtehdr.next = 0;
+ for (i=0; i<MAXRTE; i++) {
+ WPR.rtehdr.idx[i] = RTE_IDX_NONE;
+ WPR.rtehdr.used[i] = RTE_UNUSED;
+ }
+ WPR.rtehdr.rteno = RTE_RTENO_NONE;
+ memset(WPR.rte, 0, MAXRTE * sizeof(struct rte));
+
+ waypt_disp_all(wpr_waypoint);
+ route_disp_all(wpr_route_hdr, wpr_route_trl, wpr_route_wpt);
+
+ wpr_swap(&WPR);
+ if ( gbfwrite(&WPR, sizeof(struct wprdata), 1, fout) != 1 )
+ fatal(MYNAME ": Write error on %s\n", fout->name);
+}
+
+/**************************************************************************/
+
+static void trl_track_hdr(const route_head *TL) {
+ struct trkhdr *trkhdr;
+ int idx, l;
+
+ trkhdr = TRL.loghdr.trkhdr;
+
+ for (idx=0; idx< MAXTRK && trkhdr[idx].occupied != TRK_UNUSED; idx++) {};
+ if (idx >= MAXTRK)
+ fatal(MYNAME ": Can't store more than %u tracklogs", MAXTRK);
+
+ if ( TL->rte_name != NULL )
+ strncpy(trkhdr[idx].name, TL->rte_name, TRK_NAME_LEN);
+ if ( *(trkhdr[idx].name) == '\0' )
+ sprintf(trkhdr[idx].name, "T%03d", idx);
+ trkhdr[idx].name[TRK_NAME_LEN-1] = '\0';
+
+ if ( TL->rte_desc != NULL ) {
+ strncpy(trkhdr[idx].comment, TL->rte_desc, TRK_COMMENT_LEN);
+ l = strlen(TL->rte_desc);
+ if ( l < TRK_COMMENT_LEN-1 )
+ memset(trkhdr[idx].comment + l, ' ', TRK_COMMENT_LEN - l);
+ }
+ trkhdr[idx].comment[TRK_COMMENT_LEN-1] = '\0';
+
+ trkhdr[idx].comment[TRK_COMMENT_LEN-1] = '\0';
+ trkhdr[idx].occupied = TRK_USED;
+ trkhdr[idx].totalpt = 0;
+ trkhdr[idx].next = 0;
+
+ TRL.loghdr.num = idx;
+}
+
+static void trl_track_wpt(const waypoint *WP) {
+ struct trklog *trklog;
+ struct trkhdr *trkhdr;
+ int trk_idx, log_idx;
+
+ trk_idx = TRL.loghdr.num;
+
+ trkhdr = &(TRL.loghdr.trkhdr[trk_idx]);
+ if ( trkhdr->totalpt >= MAXPTINTRK )
+ fatal(MYNAME ": Can't store more than %u points per track", MAXPTINTRK);
+ log_idx = trkhdr->next;
+
+ trklog = &(TRL.trklog[trk_idx]);
+ trklog->pt[log_idx].x = deg2pt( WP->longitude);
+ trklog->pt[log_idx].y = deg2pt(-WP->latitude);
+ if ( WP->speed != unknown_speed )
+ trklog->sh[log_idx].speed = mps2sp(WP->speed);
+ if ( WP->altitude != unknown_alt )
+ trklog->sh[log_idx].height = m2hgt(WP->altitude);
+
+ trkhdr->totalpt ++;
+ trkhdr->next = trkhdr->totalpt;
+}
+
+static void trl_track_tlr(const route_head *TL) {
+ struct trkhdr *trkhdr;
+ int trk_idx;
+
+ trk_idx = TRL.loghdr.num;
+ trkhdr = &(TRL.loghdr.trkhdr[trk_idx]);
+
+ if ( trkhdr->totalpt == 0 )
+ trkhdr->occupied = TRK_UNUSED;
+
+ TRL.loghdr.num = -1;
+}
+
+static void trl_write(void) {
+ struct trkhdr *trkhdr;
+ void *buf;
+ int i;
+ size_t fill;
+
+ TRL.loghdr.id = TRL_HDR_ID;
+ TRL.loghdr.num = TRL.loghdr.next = -1;
+ TRL.loghdr.date = TRL.loghdr.time = 0;
+ for (i=0; i<MAXTRK; i++) {
+ trkhdr = &(TRL.loghdr.trkhdr[i]);
+ trkhdr->totalpt = 0;
+ trkhdr->next = 0;
+ memset(trkhdr->name, 0, TRK_NAME_LEN);
+ memset(trkhdr->comment, ' ', TRK_COMMENT_LEN);
+ trkhdr->comment[TRK_COMMENT_LEN-1] = '\0';
+ trkhdr->occupied = TRK_UNUSED;
+ trkhdr->show = TRK_HIDE;
+ trkhdr->fill = TRK_FILL;
+ }
+ memset(TRL.trklog, 0xff, sizeof(struct trklog) * MAXTRK);
+
+ track_disp_all(trl_track_hdr, trl_track_tlr, trl_track_wpt);
+
+ trl_swap(&TRL);
+
+ fill = 0x10000 - 2 * sizeof(struct trklog);
+ buf = xmalloc(fill);
+ if (buf == NULL)
+ fatal(MYNAME ": Not enough memory\n");
+ memset(buf, 0xff, fill);
+
+ for (i=0; i<MAXTRK; i+=2) {
+ if (gbfwrite(&(TRL.trklog[i]), sizeof(struct trklog), 2, fout) != 2 ||
+ gbfwrite(buf, fill, 1, fout) != 1 )
+ fatal(MYNAME ": Write error on %s\n", fout->name);
+ }
+ xfree(buf);
+
+ fill = 0x1000 - sizeof(struct loghdr);
+ buf = xmalloc(fill);
+ if (buf == NULL)
+ fatal(MYNAME ": Not enough memory\n");
+ memset(buf, 0xff, fill);
+
+ if ( gbfwrite(&(TRL.loghdr), sizeof(struct loghdr), 1, fout) != 1 ||
+ gbfwrite(buf, fill, 1, fout) != 1 )
+ fatal(MYNAME ": Write error on %s\n", fout->name);
+ xfree(buf);
+}
+
+/**************************************************************************/
+
+static void alan_rd_init(const char *fname) {
+ fin = gbfopen(fname, "r", MYNAME);
+}
+
+static void alan_rd_deinit(void) {
+ gbfclose(fin);
+ fin = NULL;
+}
+
+
+static void alan_wr_init(const char *fname) {
+ fout = gbfopen(fname, "w", MYNAME);
+}
+
+static void alan_wr_deinit(void) {
+ gbfclose(fout);
+ fout = NULL;
+}
+
+
+static void alan_exit(void) {
+ return;
+}
+
+/**************************************************************************/
+
+ff_vecs_t alanwpr_vecs = {
+ ff_type_file,
+ {
+ ff_cap_read | ff_cap_write /* waypoints */,
+ ff_cap_none /* tracks */,
+ ff_cap_read | ff_cap_write /* routes */
+ },
+ alan_rd_init,
+ alan_wr_init,
+ alan_rd_deinit,
+ alan_wr_deinit,
+ wpr_read,
+ wpr_write,
+ alan_exit,
+ wpr_args,
+ CET_CHARSET_ASCII, 0 /* ascii is the expected character set */
+ /* not fixed, can be changed through command
+ line parameter */
+};
+
+ff_vecs_t alantrl_vecs = {
+ ff_type_file,
+ {
+ ff_cap_none /* waypoints */,
+ ff_cap_read | ff_cap_write /* tracks */,
+ ff_cap_none /* routes */
+ },
+ alan_rd_init,
+ alan_wr_init,
+ alan_rd_deinit,
+ alan_wr_deinit,
+ trl_read,
+ trl_write,
+ alan_exit,
+ trl_args,
+ CET_CHARSET_ASCII, 0 /* ascii is the expected character set */
+ /* not fixed, can be changed through command
+ line parameter */
+};
ff_vecs_t an1_vecs = {
ff_type_file,
- FF_CAP_RW_ALL,
+ {
+ ff_cap_read | ff_cap_write /* waypoints */,
+ ff_cap_write /* tracks */,
+ ff_cap_read | ff_cap_write /* routes */,
+ },
rd_init,
wr_init,
rd_deinit,
#define RECORD_LEN 344
-static FILE *fin;
+static gbfile *fin;
static
arglist_t axim_gpb_args[] = {
static void
axim_gpb_rd_init(const char *fname)
{
- fin = xfopen(fname, "rb", MYNAME);
+ fin = gbfopen(fname, "rb", MYNAME);
}
static void
axim_gpb_rd_deinit(void)
{
- fclose(fin);
+ gbfclose(fin);
}
static void
char buff[RECORD_LEN];
route_head *track = NULL;
size_t bytes;
- long filesize, left;
- fseek(fin, 0, SEEK_END);
- filesize = ftell(fin);
-
- left = filesize - ((filesize / RECORD_LEN) * RECORD_LEN);
- is_fatal((left != 0), MYNAME ": Invalid or unsupported file (filesize).");
-
- fseek(fin, 0, SEEK_SET); /* seek file to start */
-
- while ((bytes = fread(buff, 1, RECORD_LEN, fin)))
+ while ((bytes = gbfread(buff, 1, RECORD_LEN, fin)))
{
+ is_fatal((bytes != RECORD_LEN), MYNAME ": Invalid or unsupported file (filesize).");
if (track == NULL)
{
track = route_head_alloc();
Support for Motorrad Routenplaner (Map&Guide) .bcr files.
- Copyright (C) 2005-2006 Olaf Klein, o.b.klein@gpsbabel.org
+ Copyright (C) 2005-2007 Olaf Klein, o.b.klein@gpsbabel.org
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
/*
2006/01/22: reader simplified with inifile library
+ 2007/01/30: new option prefer_shortnames
+ don't check global_opts.objective
*/
#include "defs.h"
but this seems to be used by Map&Guide when exporting to XML.
*/
-static FILE *fout;
+static gbfile *fout;
static char *filename;
static int curr_rte_num, target_rte_num;
static double radius;
static char *rtenum_opt;
static char *rtename_opt;
static char *radius_opt;
+static char *prefer_shortnames_opt;
static
arglist_t bcr_args[] = {
- {"index", &rtenum_opt, "Index of route to write (if more the one in source)", NULL, ARGTYPE_INT, "1", NULL },
- {"name", &rtename_opt, "New name for the route", NULL, ARGTYPE_STRING, ARG_NOMINMAX },
- {"radius", &radius_opt, "Radius of our big earth (default 6371000 meters)", "6371000", ARGTYPE_FLOAT, ARG_NOMINMAX },
+ {"index", &rtenum_opt, "Index of route to write (if more the one in source)",
+ NULL, ARGTYPE_INT, "1", NULL },
+ {"name", &rtename_opt, "New name for the route",
+ NULL, ARGTYPE_STRING, ARG_NOMINMAX },
+ {"radius", &radius_opt, "Radius of our big earth (default 6371000 meters)", "6371000",
+ ARGTYPE_FLOAT, ARG_NOMINMAX },
+ {"prefer_shortnames", &prefer_shortnames_opt, "Use shortname instead of description",
+ NULL, ARGTYPE_BOOL, ARG_NOMINMAX },
ARG_TERMINATOR
};
QUEUE_FOR_EACH(&route->waypoint_list, elem, tmp)
{
- wpt = waypt_dupe((waypoint *) elem);
- waypt_add(wpt);
+ wpt = waypt_dupe((waypoint *) elem);
+ waypt_add(wpt);
}
}
bcr_wr_init(const char *fname)
{
filename = xstrdup(fname);
- fout = xfopen(fname, "wb", MYNAME);
+ fout = gbfopen(fname, "wb", MYNAME);
bcr_init_radius();
}
static void
bcr_wr_deinit(void)
{
- fclose(fout);
+ gbfclose(fout);
xfree(filename);
}
{
}
-void bcr_write_line(FILE *fout, const char *key, int *index, const char *value)
+void bcr_write_line(gbfile *fout, const char *key, int *index, const char *value)
{
if (value == NULL) /* this is mostly used in the world of windows */
{ /* so we respectfully add a CR/LF on each line */
- fprintf(fout, "%s\r\n", key);
+ gbfprintf(fout, "%s\r\n", key);
}
else
{
- char *tmp;
-
- tmp = (value != NULL) ? xstrdup(value) : xstrdup("");
- if (index != NULL)
- fprintf(fout, "%s%d=%s\r\n", key, *index, tmp);
- else
- fprintf(fout, "%s=%s\r\n", key, tmp);
- xfree(tmp);
+ char *tmp;
+
+ tmp = (value != NULL) ? xstrdup(value) : xstrdup("");
+ if (index != NULL)
+ gbfprintf(fout, "%s%d=%s\r\n", key, *index, tmp);
+ else
+ gbfprintf(fout, "%s=%s\r\n", key, tmp);
+ xfree(tmp);
}
}
if (curr_rte_num != target_rte_num) return;
bcr_write_line(fout, "[CLIENT]", NULL, NULL); /* client section */
-
bcr_write_line(fout, "REQUEST", NULL, "TRUE");
c = route->rte_name;
if (rtename_opt != 0) c = rtename_opt;
if (c != NULL)
- bcr_write_line(fout, "ROUTENAME", NULL, c);
+ bcr_write_line(fout, "ROUTENAME", NULL, c);
else
- bcr_write_line(fout, "ROUTENAME", NULL, "Route");
+ bcr_write_line(fout, "ROUTENAME", NULL, "Route");
bcr_write_line(fout, "DESCRIPTIONLINES", NULL, "1");
bcr_write_line(fout, "DESCRIPTION1", NULL, "");
i = 0;
+
QUEUE_FOR_EACH(&route->waypoint_list, elem, tmp)
{
- i++;
- wpt = (waypoint *) elem;
-
- strncpy(symbol, "Standort", sizeof(symbol));
- if (wpt->icon_descr != 0)
- {
- icon = gt_find_icon_number_from_desc(wpt->icon_descr, MAPSOURCE);
- if ((icon >= 69) && (icon <= 72))
- strncpy(symbol, "Town", sizeof(symbol));
- }
- snprintf(buff, sizeof(buff), "%s,%s", symbol, "999999999");
- bcr_write_line(fout, "STATION", &i, buff);
+ i++;
+ wpt = (waypoint *) elem;
+
+ strncpy(symbol, "Standort", sizeof(symbol));
+ if (wpt->icon_descr != 0) {
+ icon = gt_find_icon_number_from_desc(wpt->icon_descr, MAPSOURCE);
+ if ((icon >= 69) && (icon <= 72))
+ strncpy(symbol, "Town", sizeof(symbol));
+ }
+ snprintf(buff, sizeof(buff), "%s,%s", symbol, "999999999");
+ bcr_write_line(fout, "STATION", &i, buff);
}
bcr_write_line(fout, "[COORDINATES]", NULL, NULL); /* coords section */
i = 0;
QUEUE_FOR_EACH(&route->waypoint_list, elem, tmp)
{
- i++;
- wpt = (waypoint *) elem;
-
- bcr_wgs84_to_mercator(wpt->latitude, wpt->longitude, &north, &east);
-
- if (north > nmax) nmax = north;
- if (east > emax) emax = east;
- if (north < nmin) nmin = north;
- if (east < emin) emin = east;
-
- snprintf(buff, sizeof(buff), "%d,%d", east, north);
- bcr_write_line(fout, "STATION", &i, buff);
+ i++;
+ wpt = (waypoint *) elem;
+
+ bcr_wgs84_to_mercator(wpt->latitude, wpt->longitude, &north, &east);
+
+ if (north > nmax) nmax = north;
+ if (east > emax) emax = east;
+ if (north < nmin) nmin = north;
+ if (east < emin) emin = east;
+
+ snprintf(buff, sizeof(buff), "%d,%d", east, north);
+ bcr_write_line(fout, "STATION", &i, buff);
}
bcr_write_line(fout, "[DESCRIPTION]", NULL, NULL); /* descr. section */
i = 0;
QUEUE_FOR_EACH(&route->waypoint_list, elem, tmp)
{
- i++;
- wpt = (waypoint *) elem;
- c = wpt->description;
- if (c == NULL) c = wpt->shortname;
- bcr_write_line(fout, "STATION", &i, c);
+ i++;
+ wpt = (waypoint *) elem;
+ c = wpt->description;
+ if (prefer_shortnames_opt || (c == NULL) || (*c == '\0'))
+ c = wpt->shortname;
+ bcr_write_line(fout, "STATION", &i, c);
}
bcr_write_line(fout, "[ROUTE]", NULL, NULL); /* route section */
static void
bcr_data_write(void)
{
-
- if (global_opts.objective == rtedata)
- {
- target_rte_num = 1;
-
- if (rtenum_opt != NULL)
- {
+ target_rte_num = 1;
+
+ if (rtenum_opt != NULL) {
target_rte_num = atoi(rtenum_opt);
if (((unsigned)target_rte_num > route_count()) || (target_rte_num < 1))
- fatal(MYNAME ": invalid route number %d (1..%d))!\n",
- target_rte_num, route_count());
- }
- curr_rte_num = 0;
- route_disp_all(bcr_route_header, bcr_route_trailer, bcr_write_wpt);
+ fatal(MYNAME ": invalid route number %d (1..%d))!\n",
+ target_rte_num, route_count());
}
+ curr_rte_num = 0;
+ route_disp_all(bcr_route_header, bcr_route_trailer, bcr_write_wpt);
}
ff_vecs_t bcr_vecs = {
cin = (char *)src;
if (cin == NULL) return NULL;
+ if (vec->ucs4_count == 0) return xstrdup(src); /* UTF-8 -> UTF-8 */
len = 0;
while (*cin != '\0') /* determine length of resulting UTF-8 string */
/*
Copyright (C) 2004 Justin Broughton, justinbr@earthlink.net
+ Copyright (C) 2007 Robert Lipe, robertlipe@gpsbabel.org
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "uuid.h"
-static FILE *fd;
-static FILE *ofd;
+static gbfile *fd, *ofd;
#define MYNAME "coastexp"
#define MY_CBUF 4096
static void
ce_free_mark(ce_mark *mark)
{
- xfree(mark->id);
+ dequeue(&mark->Q);
+ if (mark->id)
+ xfree(mark->id);
if (mark->created)
xfree(mark->created);
xfree(mark);
// Don't free the waypoint since this is done elsewhere
}
+/* Allocate a mark */
+static ce_mark *
+ce_alloc_mark(const waypoint *wpt, const char *id)
+{
+ ce_mark *res = xcalloc(sizeof(ce_mark), 1);
+ res->id = (char *) id;
+ res->wp = (waypoint *) wpt;
+ return res;
+}
+
#if !HAVE_LIBEXPAT
void
ce_rd_init(const char *fname)
// Create a CE route object and add it to the list of routes
currentRoute = (ce_route *) xcalloc(sizeof (ce_route), 1);
currentRoute->id=xstrdup(ap[1]);
- if (doing_rtes)
- currentRoute->r = route_head_alloc();
+ currentRoute->r = route_head_alloc();
QUEUE_INIT(¤tRoute->ce_mark_head);
- if (doing_rtes)
- ce_add_route(currentRoute);
+ ce_add_route(currentRoute);
}
}
} else if (0 == strcmp(el, "Mark")) {
inMark = 1;
- currentMark = (ce_mark *) xcalloc(sizeof (ce_mark), 1);
- currentMark->wp = NULL;
- currentMark->used = 0;
+ currentMark = ce_alloc_mark(NULL, NULL);
ce_add_mark(currentMark);
for (ap = attr; *ap; ap+=2) {
if (0 == strcmp(ap[0], "id")) {
{
const char *el = xml_convert_to_char_string(xml_el);
if (0 == strcmp(el, "Route")) {
- if (!doing_rtes)
- ce_free_route(currentRoute);
- inRoute = 0;
+ inRoute = 0; /* ??? */
}
else if (0 == strcmp(el, "Mark"))
inMark = 0;
if (inRoute) {
// We are processing the marks in a route so create a CE mark object
// and add it to the current route
- ce_mark *mark = (ce_mark *) xcalloc(sizeof (ce_mark), 1);
- mark->id = xstrdup(s);
- mark->created = NULL;
- mark->wp = NULL;
+ ce_mark *mark = (ce_mark *) ce_alloc_mark(NULL, xstrdup(s));
ce_add_mark_to_route(currentRoute, mark);
}
} else if (0 == strcmp(element, "Position")) {
}
}
else if (inRoute) {
- if (doing_rtes)
currentRoute->r->rte_name = xstrdup(s);
}
} else if (0 == strcmp(element, "Description")) {
void
ce_rd_init(const char *fname)
{
- fd = xfopen(fname, "r", MYNAME);
+ fd = gbfopen(fname, "r", MYNAME);
QUEUE_INIT(&ce_route_head);
QUEUE_INIT(&ce_mark_head);
ce_read(void)
{
int len;
- char buf[MY_CBUF];
+ char buf[MY_CBUF + 1];
- while ((len = fread(buf, 1, sizeof(buf), fd))) {
- if (!XML_Parse(psr, buf, len, feof(fd))) {
+ while ((len = gbfread(buf, 1, sizeof(buf) - 1, fd))) {
+ buf[len] = '\0';
+ if (!XML_Parse(psr, buf, len, gbfeof(fd))) {
fatal(MYNAME ":Parse error at %d: %s\n",
(int) XML_GetCurrentLineNumber(psr),
XML_ErrorString(XML_GetErrorCode(psr)));
ce_mark *mark = (ce_mark *) elem;
if (mark->used)
{
- dequeue(elem);
if (mark->wp)
waypt_free(mark->wp);
ce_free_mark(mark);
*/
queue *elem, *tmp;
- if (doing_rtes) {
- ce_fix_route_mark_waypoints();
+ ce_fix_route_mark_waypoints();
ce_check_route_names();
- ce_remove_used_marks();
- }
+ ce_remove_used_marks();
// Log results
if (global_opts.debug_level > 1)
// Add routes to GPSBabel
QUEUE_FOR_EACH(&ce_route_head, elem, tmp) {
ce_route *route = (ce_route *) elem;
- if (doing_rtes) {
queue *elem2, *tmp2;
route_add_head(route->r);
QUEUE_FOR_EACH(&route->ce_mark_head, elem2, tmp2) {
else
printf("Undefined mark: %s\n", mark->id);
}
- }
ce_free_route(route);
}
ce_free_mark(mark);
}
- fclose(fd);
+ gbfclose(fd);
xfree(element);
xfree(cdatastr);
}
uuid_buffer = xcalloc(MY_UBUF,1);
xml_buffer = xcalloc(MY_XBUF, 1);
- ofd = xfopen(fname, "w", MYNAME);
+ ofd = gbfopen(fname, "w", MYNAME);
+ srand(gpsbabel_now);
}
void
ce_wr_deinit(void)
{
- fclose(ofd);
+ gbfclose(ofd);
// Free the buffers used for writing
xfree(time_buffer);
static char *
ce_gen_creation_time(time_t tm)
{
- xml_fill_in_time(time_buffer, tm, XML_SHORT_TIME);
+ xml_fill_in_time(time_buffer, tm, 0, XML_SHORT_TIME);
return time_buffer;
}
static void
ce_route_hdr(const route_head *rte)
{
- if (doing_rtes) {
- sprintf(xml_buffer, "{%s}", ce_gen_uuid());
- write_xml_entity_begin2(ofd, "\t", "Route", "created", ce_gen_current_time(), "id", xml_buffer);
- write_xml_entity_begin0(ofd, "\t\t", "Marks");
- }
+ sprintf(xml_buffer, "{%s}", ce_gen_uuid());
+ write_xml_entity_begin2(ofd, "\t", "Route", "created", ce_gen_current_time(), "id", xml_buffer);
+ write_xml_entity_begin0(ofd, "\t\t", "Marks");
}
/* Generate route body XML */
{
char *uuid = ce_gen_uuid();
char *id = xcalloc(strlen(uuid)+3, 1);
+
sprintf(id, "{%s}", uuid);
- currentMark = (ce_mark *) xcalloc(sizeof (ce_mark), 1);
- currentMark->id = id;
- currentMark->wp = (waypoint *) waypointp;
+ currentMark = ce_alloc_mark(waypointp, id);
ENQUEUE_TAIL(&ce_mark_head, ¤tMark->Q);
- fprintf(ofd, "\t\t\t%s\n", id); // CE's departure from XML standard!
+
+ gbfprintf(ofd, "\t\t\t%s\n", id); // CE's departure from XML standard!
}
/* Generate route trailer XML */
static void
ce_route_tlr(const route_head *rte)
{
- if (doing_rtes) {
- write_xml_entity_end(ofd, "\t\t", "Marks");
- write_optional_xml_entity(ofd, "\t\t", "Name", rte->rte_name);
- write_xml_entity_end(ofd, "\t", "Route");
- }
+ write_xml_entity_end(ofd, "\t\t", "Marks");
+ write_optional_xml_entity(ofd, "\t\t", "Name", rte->rte_name);
+ write_xml_entity_end(ofd, "\t", "Route");
}
/* Generate waypoint body XML */
write_optional_xml_entity(ofd, "\t\t", "Name", wp->shortname);
}
-/* Generate a standalone mark XML */
+static char *
+ce_find_uuid(const waypoint *wpt)
+{
+ queue *elem, *tmp;
+
+ QUEUE_FOR_EACH(&ce_mark_head, elem, tmp) {
+ ce_mark *mark = (ce_mark *) elem;
+ if (mark->wp == wpt) {
+ return mark->id;
+ }
+ }
+ return NULL;
+}
+
+static waypoint *
+ce_find_wpt(const waypoint *wpt)
+{
+ queue *elem, *tmp;
+
+ QUEUE_FOR_EACH(&ce_mark_head, elem, tmp) {
+ ce_mark *mark = (ce_mark *) elem;
+ if ((mark->wp->shortname == wpt->shortname) &&
+ (mark->wp->latitude == wpt->latitude) &&
+ (mark->wp->longitude == wpt->longitude))
+ return mark->wp;
+ }
+ return NULL;
+}
+
+/* Generate a mark XML; look for created id's */
static void
ce_mark_pr(const waypoint *wp)
{
+ char *id;
+
+ if (inRoute) {
+ id = ce_find_uuid(wp);
+ if (id == NULL) {
+ sprintf(xml_buffer, "{%s}", ce_gen_uuid());
+ id = xml_buffer;
+ }
+ }
+ /* Have we seen and written the (nearly) same waypoint ? */
+ else if (ce_find_wpt(wp) != NULL) return;
+ else {
+ ce_mark *mark = ce_alloc_mark(wp, NULL);
+ ENQUEUE_TAIL(&ce_mark_head, &mark->Q);
+ sprintf(xml_buffer, "{%s}", ce_gen_uuid());
+ id = xml_buffer;
+ }
write_xml_entity_begin2(ofd, "\t", "Mark",
- "created", ce_gen_creation_time(wp->creation_time),
- "id", ce_gen_uuid());
+ "created", ce_gen_creation_time(wp->creation_time),
+ "id", id);
ce_waypt_pr(wp);
write_xml_entity_end(ofd, "\t", "Mark");
}
ce_marks_pr(void)
{
queue *elem, *tmp;
+
QUEUE_FOR_EACH(&ce_mark_head, elem, tmp) {
ce_mark *mark = (ce_mark *) elem;
ce_mark_pr(mark->wp);
+ }
+}
+
+/* Release all generated marks */
+static void
+ce_marks_flush_all(void)
+{
+ queue *elem, *tmp;
+
+ QUEUE_FOR_EACH(&ce_mark_head, elem, tmp) {
+ ce_mark *mark = (ce_mark *) elem;
ce_free_mark(mark);
}
}
ce_gen_current_time());
write_xml_entity(ofd, "\t", "Name", "Navigation Objects");
+ inRoute = 1;
route_disp_all(ce_route_hdr, ce_route_tlr, ce_route_disp);
ce_marks_pr();
+ inRoute = 0;
+
waypt_disp_all(ce_mark_pr);
-
+ ce_marks_flush_all();
+
write_xml_entity_end(ofd, "", "NavObjectCollection");
}
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for GPSBabel 1.3.2.
+# Generated by GNU Autoconf 2.59 for GPSBabel 1.3.3.
#
# Report bugs to <BUG-REPORT-ADDRESS>.
#
# Identity of this package.
PACKAGE_NAME='GPSBabel'
PACKAGE_TARNAME='gpsbabel'
-PACKAGE_VERSION='1.3.2'
-PACKAGE_STRING='GPSBabel 1.3.2'
+PACKAGE_VERSION='1.3.3'
+PACKAGE_STRING='GPSBabel 1.3.3'
PACKAGE_BUGREPORT='BUG-REPORT-ADDRESS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS PACKAGE_RELEASE GBMAJOR GBMINOR GBMICRO build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA SET_MAKE FILEINFO RC LIBUSBCONFIG USB_LIBS USB_CFLAGS OSJEEPS GBSER ZLIB EXPAT_LIB EFENCE_LIB GPSBABEL_DEBUG INSTALL_DEBUG DOCDIR LIBOBJS LTLIBOBJS'
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GPSBabel 1.3.2 to adapt to many kinds of systems.
+\`configure' configures GPSBabel 1.3.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GPSBabel 1.3.2:";;
+ short | recursive ) echo "Configuration of GPSBabel 1.3.3:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-GPSBabel configure 1.3.2
+GPSBabel configure 1.3.3
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GPSBabel $as_me 1.3.2, which was
+It was created by GPSBabel $as_me 1.3.3, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
# YYYYMMDD, please, if beta, i.e. "-beta20060413"
-PACKAGE_RELEASE=""
+# PACKAGE_RELEASE="-beta20061125"
cat >>confdefs.h <<_ACEOF
#define PACKAGE_RELEASE "$PACKAGE_RELEASE"
xpathdr=/sw/include/
fi
;;
+ *-*-freebsd*)
+ if test -f /usr/local/include/expat.h ; then
+ xpathdr=/usr/local/include
+ fi
+ ;;
*) ;;
esac
_ACEOF
+ fi
+ ;;
+ *-*-freebsd*)
+ if test -f /usr/local/lib/libexpat.a ; then
+ EXPAT_LIB=/usr/local/lib/libexpat.a
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_LIBEXPAT 1
+_ACEOF
+
+
fi
;;
*)
done
- ac_config_files="$ac_config_files Makefile xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc coldsync/Makefile jeeps/Makefile shapelib/Makefile zlib/empty"
+ ac_config_files="$ac_config_files Makefile gbversion.h xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc coldsync/Makefile jeeps/Makefile shapelib/Makefile zlib/empty"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
} >&5
cat >&5 <<_CSEOF
-This file was extended by GPSBabel $as_me 1.3.2, which was
+This file was extended by GPSBabel $as_me 1.3.3, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-GPSBabel config.status 1.3.2
+GPSBabel config.status 1.3.3
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
case "$ac_config_target" in
# Handling of arguments.
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "gbversion.h" ) CONFIG_FILES="$CONFIG_FILES gbversion.h" ;;
"xmldoc/makedoc" ) CONFIG_FILES="$CONFIG_FILES xmldoc/makedoc" ;;
"tools/mkcapabilities" ) CONFIG_FILES="$CONFIG_FILES tools/mkcapabilities" ;;
"win32/gpsbabel.rc" ) CONFIG_FILES="$CONFIG_FILES win32/gpsbabel.rc" ;;
AC_PREREQ(2.59)
-AC_INIT(GPSBabel, 1.3.2, BUG-REPORT-ADDRESS)
+AC_INIT(GPSBabel, 1.3.3, BUG-REPORT-ADDRESS)
# YYYYMMDD, please, if beta, i.e. "-beta20060413"
-PACKAGE_RELEASE=""
+# PACKAGE_RELEASE="-beta20061125"
AC_DEFINE_UNQUOTED(PACKAGE_RELEASE, "$PACKAGE_RELEASE", [Define to the release name of this package.])
AC_SUBST(PACKAGE_RELEASE)
xpathdr=/sw/include/
fi
;;
+ *-*-freebsd*)
+ if test -f /usr/local/include/expat.h ; then
+ xpathdr=/usr/local/include
+ fi
+ ;;
*) ;;
esac
]
AC_SUBST(EXPAT_LIB)
fi
;;
+ *-*-freebsd*)
+ if test -f /usr/local/lib/libexpat.a ; then
+ EXPAT_LIB=/usr/local/lib/libexpat.a
+ AC_DEFINE(HAVE_LIBEXPAT, 1, [Defined if you have libexpat])
+ AC_SUBST(EXPAT_LIB)
+ fi
+ ;;
*)
EXPAT_LIB=-lexpat
;;
# AC_CHECK_FUNCS([atexit floor localtime_r memmove memset pow select sqrt strchr strcspn strdup strerror strncasecmp strrchr strspn strstr strtol strtoul])
AC_CHECK_FUNCS([nanosleep sleep])
-AC_CONFIG_FILES([Makefile xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc coldsync/Makefile jeeps/Makefile shapelib/Makefile zlib/empty])
+AC_CONFIG_FILES([Makefile gbversion.h xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc coldsync/Makefile jeeps/Makefile shapelib/Makefile zlib/empty])
AC_OUTPUT
#include "coldsync/pdb.h"
#include "grtcirc.h"
-#define MYNAME "CoPilot Waypoint"
-#define MYTYPE 0x77617970 /* wayp */
-#define MYCREATOR 0x47584255 /* GXBU */
+#define MYNAME "CoPilot Waypoint"
+#define wayp_TYPE 0x77617970 /* wayp */
+#define wayu_TYPE 0x77617975 /* wayu */
+#define swpu_TYPE 0x73777075 /* swpu */
+#define GXPU_CREATOR 0x47584255 /* GXBU */
+#define AP_P_CREATOR 0x41502d50 /* AP-P */
-struct record {
+struct record0 {
+ pdb_double latitude; /* PDB double format, */
+ pdb_double longitude; /* similarly, neg = east */
+ pdb_double magvar; /* magnetic variation in degrees, neg = east */
+ udword elevation; /* feet */
+};
+
+struct record1 {
+ pdb_double latitude; /* PDB double format, */
+ pdb_double longitude; /* similarly, neg = east */
+ pdb_double magvar; /* magnetic variation in degrees, neg = east */
+ pdb_double elevation; /* feet */
+};
+
+struct record3 {
pdb_double latitude; /* PDB double format, */
pdb_double longitude; /* similarly, neg = east */
pdb_double magvar; /* magnetic variation in degrees, neg = east */
pdb_double elevation; /* feet */
- char flags;
+ char flags; /* flags */
+};
+
+struct record4 {
+ pdb_double latitude; /* PDB double format, */
+ pdb_double longitude; /* similarly, neg = east */
+ pdb_float magvar; /* magnetic variation in degrees, neg = east */
+ pdb_float elevation; /* feet */
};
static FILE *file_in;
fclose(file_out);
}
+static waypoint*
+read_version0(ubyte* data)
+{
+ char *vdata;
+ waypoint *wpt_tmp;
+ struct record0* rec = (struct record0*)data;
+
+ wpt_tmp = waypt_new();
+
+ wpt_tmp->longitude =
+ DEG(-pdb_read_double(&rec->longitude));
+ wpt_tmp->latitude =
+ DEG(pdb_read_double(&rec->latitude));
+ wpt_tmp->altitude = FEET_TO_METERS(be_read32(&rec->elevation));
+
+ vdata = (char *) data + sizeof(*rec);
+
+ wpt_tmp->shortname = xstrdup(vdata);
+ vdata = vdata + strlen(vdata) + 1;
+
+ wpt_tmp->description = xstrdup(vdata);
+ vdata = vdata + strlen(vdata) + 1;
+
+ wpt_tmp->notes = NULL;
+
+ return wpt_tmp;
+}
+
+static waypoint*
+read_version1(ubyte* data)
+{
+ char *vdata;
+ waypoint *wpt_tmp;
+ struct record1* rec = (struct record1*)data;
+
+ wpt_tmp = waypt_new();
+
+ wpt_tmp->longitude =
+ DEG(-pdb_read_double(&rec->longitude));
+ wpt_tmp->latitude =
+ DEG(pdb_read_double(&rec->latitude));
+ wpt_tmp->altitude =
+ FEET_TO_METERS(pdb_read_double(&rec->elevation));
+
+ vdata = (char *) data + sizeof(*rec);
+
+ wpt_tmp->shortname = xstrdup(vdata);
+ vdata = vdata + strlen(vdata) + 1;
+
+ wpt_tmp->description = xstrdup(vdata);
+ vdata = vdata + strlen(vdata) + 1;
+
+ wpt_tmp->notes = xstrdup(vdata);
+
+ return wpt_tmp;
+}
+
+static waypoint*
+read_version3(ubyte* data)
+{
+ char *vdata;
+ waypoint *wpt_tmp;
+ struct record3* rec = (struct record3*)data;
+
+ wpt_tmp = waypt_new();
+
+ wpt_tmp->longitude =
+ DEG(-pdb_read_double(&rec->longitude));
+ wpt_tmp->latitude =
+ DEG(pdb_read_double(&rec->latitude));
+ wpt_tmp->altitude =
+ FEET_TO_METERS(pdb_read_double(&rec->elevation));
+
+ vdata = (char *) data + sizeof(*rec);
+
+ wpt_tmp->shortname = xstrdup(vdata);
+ vdata = vdata + strlen(vdata) + 1;
+
+ wpt_tmp->description = xstrdup(vdata);
+ vdata = vdata + strlen(vdata) + 1;
+
+ wpt_tmp->notes = xstrdup(vdata);
+
+ return wpt_tmp;
+}
+
+static waypoint*
+read_version4(ubyte* data)
+{
+ char *vdata;
+ waypoint *wpt_tmp;
+ struct record4* rec = (struct record4*)data;
+
+ wpt_tmp = waypt_new();
+
+ wpt_tmp->longitude =
+ DEG(-pdb_read_double(&rec->longitude));
+ wpt_tmp->latitude =
+ DEG(pdb_read_double(&rec->latitude));
+ wpt_tmp->altitude =
+ FEET_TO_METERS(pdb_read_float(&rec->elevation));
+
+ vdata = (char *) data + sizeof(*rec);
+
+ wpt_tmp->shortname = xstrdup(vdata);
+ vdata = vdata + strlen(vdata) + 1;
+
+ wpt_tmp->description = xstrdup(vdata);
+ vdata = vdata + strlen(vdata) + 1;
+
+ wpt_tmp->notes = xstrdup(vdata);
+
+ return wpt_tmp;
+}
+
static void
data_read(void)
{
- struct record *rec;
struct pdb *pdb;
struct pdb_record *pdb_rec;
fatal(MYNAME ": pdb_Read failed\n");
}
- if ((pdb->creator != MYCREATOR) || (pdb->type != MYTYPE)) {
+ if ((pdb->creator != GXPU_CREATOR && pdb->creator != AP_P_CREATOR) ||
+ (pdb->type != wayp_TYPE && pdb->type != swpu_TYPE &&
+ pdb->type != wayu_TYPE)) {
fatal(MYNAME ": Not a CoPilot file.\n");
}
+ if (pdb->version > 4) {
+ fatal(MYNAME ": %d is not a known version.\n", pdb->version);
+ }
+
for(pdb_rec = pdb->rec_index.rec; pdb_rec; pdb_rec=pdb_rec->next) {
waypoint *wpt_tmp;
- char *vdata;
-
- wpt_tmp = waypt_new();
-
- rec = (struct record *) pdb_rec->data;
- wpt_tmp->longitude =
- DEG(-pdb_read_double(&rec->longitude));
- wpt_tmp->latitude =
- DEG(pdb_read_double(&rec->latitude));
- wpt_tmp->altitude =
- pdb_read_double(&rec->elevation) * .3048;
-
- vdata = (char *) pdb_rec->data + sizeof(*rec);
-
- wpt_tmp->shortname = xstrdup(vdata);
- vdata = vdata + strlen(vdata) + 1;
-
- wpt_tmp->description = xstrdup(vdata);
- vdata = vdata + strlen(vdata) + 1;
-
- wpt_tmp->notes = xstrdup(vdata);
+ switch (pdb->version)
+ {
+ case 0:
+ wpt_tmp = read_version0(pdb_rec->data);
+ break;
+ case 1:
+ case 2:
+ wpt_tmp = read_version1(pdb_rec->data);
+ break;
+ case 3:
+ wpt_tmp = read_version3(pdb_rec->data);
+ break;
+ case 4:
+ wpt_tmp = read_version4(pdb_rec->data);
+ break;
+ default:
+ fatal(MYNAME ": Unknown version %d.\n", pdb->version);
+ }
waypt_add(wpt_tmp);
}
free_pdb(pdb);
}
-
static void
copilot_writewpt(const waypoint *wpt)
{
- struct record *rec;
+ struct record4 *rec;
static int ct = 0;
char *vdata;
pdb_write_double(&rec->latitude, RAD(wpt->latitude));
pdb_write_double(&rec->longitude, RAD(-wpt->longitude));
- pdb_write_double(&rec->elevation,
- wpt->altitude / .3048);
- pdb_write_double(&rec->magvar, 0);
+ pdb_write_float(&rec->magvar, 0);
+ pdb_write_float(&rec->elevation,
+ METERS_TO_FEET(wpt->altitude));
vdata = (char *)rec + sizeof(*rec);
if ( wpt->shortname ) {
opdb->name[PDB_DBNAMELEN-1] = 0;
opdb->attributes = PDB_ATTR_BACKUP;
opdb->ctime = opdb->mtime = current_time() + 2082844800U;
- opdb->type = MYTYPE;
- opdb->creator = MYCREATOR;
- opdb->version = 0;
+ opdb->type = wayp_TYPE;
+ opdb->creator = GXPU_CREATOR;
+ opdb->version = 4;
waypt_disp_all(copilot_writewpt);
#include "csv_util.h"
#include "grtcirc.h"
#include "strptime.h"
+#include "jeeps/gpsmath.h"
#define MYNAME "CSV_UTIL"
#define EXCEL_TO_TIMET(a) ((a - 25569.0) * 86400.0)
#define TIMET_TO_EXCEL(a) ((a / 86400.0) + 25569.0)
+#define GPS_DATUM_WGS84 118
/****************************************************************************/
/* obligatory global struct */
#if CSVFMTS_ENABLED
/*****************************************************************************/
/* dec_to_intdeg() - convert decimal degrees to integer degreees */
-/* usage: i = dec_to_intdeg(31.1234, 1); */
-/* i = dec_to_intdeg(91.1234, 0); */
+/* usage: i = dec_to_intdeg(31.1234); */
/*****************************************************************************/
static int
-dec_to_intdeg(const double d, const int islat)
+dec_to_intdeg(const double d)
{
int ideg = 0;
- if (islat) {
+ if (d >= 0) {
ideg = (2147483647) - (d * 8388608);
} else {
ideg = (2147483647) - (fabs(d) * 8388608) + 1;
/*****************************************************************************/
/* intdeg_to_dec() - convert integer degrees to decimal degreees */
-/* usage: lat = dec_to_intdeg(ilat, 1); */
-/* lon = dec_to_intdeg(ilon, 0); */
+/* usage: lat = dec_to_intdeg(ilat); */
/*****************************************************************************/
static double
-intdeg_to_dec(const int ideg, const int islat)
+intdeg_to_dec(const int ideg)
{
double d;
- if (islat) {
+ if (ideg >= 0) {
d = ((2147483647) - ideg) / (double)8388608;
} else {
d = ((-2147483647-1) + ideg) / (double)8388608;
xcsv_file.type = ff_type_file;
xcsv_file.mkshort_handle = mkshort_new_handle();
+ xcsv_file.gps_datum = GPS_DATUM_WGS84;
}
/*****************************************************************************/
return mktime(&stm);
}
- return -1;
+ return 0;
}
static
time_t
} else
if (strcmp(fmp->key, "LAT_INT32DEG") == 0) {
/* latitude as a 32 bit integer offset */
- wpt->latitude = intdeg_to_dec((int) atof(s), 1);
+ wpt->latitude = intdeg_to_dec((int) atof(s));
} else
if ( strcmp(fmp->key, "LAT_HUMAN_READABLE") == 0) {
human_to_dec( s, &wpt->latitude, &wpt->longitude, 1 );
} else
if (strcmp(fmp->key, "LON_INT32DEG") == 0) {
/* longitude as a 32 bit integer offset */
- wpt->longitude = intdeg_to_dec((int) atof(s), 0);
+ wpt->longitude = intdeg_to_dec((int) atof(s));
} else
if ( strcmp(fmp->key, "LON_HUMAN_READABLE") == 0) {
human_to_dec( s, &wpt->latitude, &wpt->longitude, 2 );
wpt->creation_time += addhms(s, fmp->printfc);
} else
if (strcmp(fmp->key, "ISO_TIME") == 0) {
- wpt->creation_time = xml_parse_time(s);
+ wpt->creation_time = xml_parse_time(s, NULL);
} else
if (strcmp(fmp->key, "GEOCACHE_LAST_FOUND") == 0) {
wpt->gc_data.last_found = yyyymmdd_to_time(s);
queue *elem, *tmp;
field_map_t *fmp;
ogue_t *ogp;
+ route_head *rte = NULL;
+ route_head *trk = NULL;
+ if (xcsv_file.datatype == trkdata) {
+ trk = route_head_alloc();
+ track_add_head(trk);
+ } else
+ if (xcsv_file.datatype == rtedata) {
+ rte = route_head_alloc();
+ route_add_head(rte);
+ }
+
while ((buff = gbfgetstr(xcsv_file.xcsvfp))) {
linecount++;
- buff = lrtrim(buff);
+ /* Whack trailing space; leading space may matter if our field sep
+ * is whitespace and we have leading whitespace.
+ */
+ rtrim(buff);
/* skip over x many lines on the top for the prologue... */
if ((xcsv_file.prologue_lines) && ((linecount - 1) <
s = csv_lineparse(NULL, xcsv_file.field_delimiter, "",
linecount);
}
- waypt_add(wpt_tmp);
+ if ((xcsv_file.gps_datum > -1) && (xcsv_file.gps_datum != GPS_DATUM_WGS84)) {
+ double alt;
+ GPS_Math_Known_Datum_To_WGS84_M(wpt_tmp->latitude, wpt_tmp->longitude, 0.0,
+ &wpt_tmp->latitude, &wpt_tmp->longitude, &alt, xcsv_file.gps_datum);
+ }
+ switch(xcsv_file.datatype) {
+ case 0:
+ case wptdata:
+ waypt_add(wpt_tmp); break;
+ case trkdata:
+ track_add_wpt(trk, wpt_tmp); break;
+ case rtedata:
+ route_add_wpt(rte, wpt_tmp); break;
+ default: ;
+ }
}
}
int i;
field_map_t *fmp;
queue *elem, *tmp;
+ double latitude, longitude;
if ( oldlon < 900 ) {
pathdist += radtomiles(gcdist(RAD(oldlat),RAD(oldlon),
RAD(wpt->latitude),RAD(wpt->longitude)));
}
- oldlon = wpt->longitude;
- oldlat = wpt->latitude;
+ longitude = oldlon = wpt->longitude;
+ latitude = oldlat = wpt->latitude;
if (xcsv_file.field_delimiter && strcmp(xcsv_file.field_delimiter, "\\w") == 0)
write_delimiter = " ";
description = xstrdup(odesc);
xfree(odesc);
}
+ if ((xcsv_file.gps_datum > -1) && (xcsv_file.gps_datum != GPS_DATUM_WGS84)) {
+ double alt;
+ GPS_Math_WGS84_To_Known_Datum_M(latitude, longitude, 0.0,
+ &latitude, &longitude, &alt, xcsv_file.gps_datum);
+ }
i = 0;
QUEUE_FOR_EACH(xcsv_file.ofield, elem, tmp) {
char *obuff;
- double lat = wpt->latitude;
- double lon = wpt->longitude;
+ double lat = latitude;
+ double lon = longitude;
/*
* A klunky concept. This should evaluate to true for any
* field if we think we don't have realistic value for it.
if (strcmp(fmp->key, "LAT_INT32DEG") == 0) {
/* latitude as an integer offset from 0 degrees */
writebuff(buff, fmp->printfc,
- dec_to_intdeg(lat, 1));
+ dec_to_intdeg(lat));
} else
if (strcmp(fmp->key, "LAT_HUMAN_READABLE") == 0) {
dec_to_human( buff, fmp->printfc, "SN", lat );
if (strcmp(fmp->key, "LON_INT32DEG") == 0) {
/* longitudee as an integer offset from 0 degrees */
writebuff(buff, fmp->printfc,
- dec_to_intdeg(lon, 0));
+ dec_to_intdeg(lon));
} else
if (strcmp(fmp->key, "LON_HUMAN_READABLE") == 0) {
dec_to_human( buff, fmp->printfc, "WE", lon );
gbfprintf(xcsv_file.xcsvfp, "%s", xcsv_file.record_delimiter);
}
- waypt_disp_all(xcsv_waypt_pr);
- route_disp_all(xcsv_resetpathlen,xcsv_noop,xcsv_waypt_pr);
- track_disp_all(xcsv_resetpathlen,xcsv_noop,xcsv_waypt_pr);
+ if ((xcsv_file.datatype == 0) || (xcsv_file.datatype == wptdata))
+ waypt_disp_all(xcsv_waypt_pr);
+ if ((xcsv_file.datatype == 0) || (xcsv_file.datatype == rtedata))
+ route_disp_all(xcsv_resetpathlen,xcsv_noop,xcsv_waypt_pr);
+ if ((xcsv_file.datatype == 0) || (xcsv_file.datatype == trkdata))
+ track_disp_all(xcsv_resetpathlen,xcsv_noop,xcsv_waypt_pr);
/* output epilogue lines, if any. */
QUEUE_FOR_EACH(&xcsv_file.epilogue, elem, tmp) {
short_handle mkshort_handle;/* handle for mkshort() */
ff_type type; /* format type for GUI wrappers. */
-
+
+ int gps_datum; /* result of GPS_Lookup_Datum_Index */
+ gpsdata_type datatype; /* can be wptdata, rtedata or trkdata */
+ /* ... or ZERO to keep the old behaviour */
+
} xcsv_file_t;
gpsdata_type objective;
unsigned int masked_objective;
int verbose_status; /* set by GUI wrappers for status */
- int no_smart_icons;
- int no_smart_names;
+ int smart_icons;
+ int smart_names;
cet_cs_vec_t *charset;
char *charset_name;
inifile_t *inifile;
extern time_t gpsbabel_now; /* gpsbabel startup-time; initialized in main.c with time() */
extern time_t gpsbabel_time; /* gpsbabel startup-time; initialized in main.c with current_time(), ! ZERO within testo ! */
+#define MILLI_TO_MICRO(t) (t * 1000) /* Milliseconds to Microseconds */
+#define MICRO_TO_MILLI(t) (t / 1000) /* Microseconds to Milliseconds*/
+#define CENTI_TO_MICRO(t) (t * 10000) /* Centiseconds to Microseconds */
+#define MICRO_TO_CENTI(t) (t / 10000) /* Centiseconds to Microseconds */
+
/* Short or Long XML Times */
#define XML_SHORT_TIME 1
#define XML_LONG_TIME 2
wp_flags wpt_flags;
const char *icon_descr;
time_t creation_time; /* standardized in UTC/GMT */
- int centiseconds; /* Optional hundredths of a second. */
+ int microseconds; /* Optional millionths of a second. */
/*
* route priority is for use by the simplify filter. If we have
char * convert_human_time_format(const char *human_timef); /* "HH+mm+ss" -> "%H+%M+%S" */
char * pretty_deg_format(double lat, double lon, char fmt, int html); /* decimal -> dd.dddd or dd mm.mmm or dd mm ss */
+char * get_filename(const char *fname); /* extract the filename portion */
+
/*
* Character encoding transformations.
*/
#define str_iso8859_1_to_utf8(str) cet_str_iso8859_1_to_utf8((str))
/* this lives in gpx.c */
-time_t xml_parse_time( const char *cdatastr );
+time_t xml_parse_time( const char *cdatastr, int * microsecs );
xml_tag *xml_findfirst( xml_tag *root, char *tagname );
xml_tag *xml_findnext( xml_tag *root, xml_tag *cur, char *tagname );
unsigned char data[8];
} pdb_double;
+typedef struct {
+ unsigned char data[4];
+} pdb_float;
+
/*
* Protypes for Endianness helpers.
*/
void be_write32(void *pp, const unsigned i);
void le_write16(void *pp, const unsigned i);
void le_write32(void *pp, const unsigned i);
-double pdb_read_double(void *p);
-void pdb_write_double(void *pp, double d);
-double le_read_double(void *p);
+double endian_read_double(void* ptr, int read_le);
+float endian_read_float(void* ptr, int read_le);
+void endian_write_double(void* ptr, double d, int write_le);
+void endian_write_float(void* ptr, float f, int write_le);
+
+float be_read_float(void *p);
double be_read_double(void *p);
-void le_write_double(void *p, double d);
-void be_write_double(void *p, double d);
+void be_write_float(void *pp, float d);
+void be_write_double(void *pp, double d);
+
+float le_read_float(void *p);
+double le_read_double(void *p);
+void le_write_float(void *ptr, float f);
+void le_write_double(void *p, double d);
+
+#define pdb_write_float be_write_float
+#define pdb_read_float be_read_float
+#define pdb_write_double be_write_double
+#define pdb_read_double be_read_double
/*
* Prototypes for generic conversion routines (util.c).
static char *andopt = NULL;
static double hdopf;
static double vdopf;
+static gpsdata_type what;
+static route_head *head;
static
arglist_t fix_args[] = {
del = delh || delv;
if (del) {
- waypt_del(waypointp);
+ switch(what) {
+ case wptdata:
+ waypt_del(waypointp);
+ break;
+ case trkdata:
+ track_del_wpt(head, waypointp);
+ break;
+ case rtedata:
+ route_del_wpt(head, waypointp);
+ break;
+ default:
+ return;
+ }
waypt_free(waypointp);
}
}
static void
-fix_process_track(const route_head *trk)
+fix_process_head(const route_head *trk)
{
- waypoint * waypointp;
- queue *elem, *tmp;
-
- QUEUE_FOR_EACH((queue *)&trk->waypoint_list, elem, tmp) {
- waypointp = (waypoint *)elem;
-
- fix_process_wpt(waypointp);
- }
+ head = (route_head *)trk;
}
static void
fix_process(void)
{
// Filter waypoints.
+ what = wptdata;
waypt_disp_all(fix_process_wpt);
// Filter tracks
- track_disp_all(fix_process_track, NULL, NULL);
+ what = trkdata;
+ track_disp_all(fix_process_head, NULL, fix_process_wpt);
// And routes
- route_disp_all(fix_process_track, NULL, NULL);
+ what = rtedata;
+ route_disp_all(fix_process_head, NULL, fix_process_wpt);
}
wpt->latitude = xmlLatitude;
wpt->longitude = xmlLongitude;
}
+ /* NOTE:
+ * Alan White reports this program actually subtracts a number
+ * of meters ranging between 46 and 50 meters. It appears to be
+ * constant for each location, but different without an obvious
+ * correlation to ground altitude. We considered offsetting this
+ * in GPSBabel, but concluded it wasn't worth the bother.
+ * If we get complaints, probably all of our alt reading and writing
+ * should offset an average of 46m or so.
+ */
wpt->altitude = xmlAltitude;
convert_datum(wpt, xmldatum);
}
gbfputdbl(wpt->latitude, fout);
gbfputdbl(wpt->longitude, fout);
- gbfputdbl(wpt->altitude, fout);
+ gbfputdbl(wpt->altitude != unknown_alt ? wpt->altitude : 0, fout);
}
static void
gbfputdbl(wpt->latitude, fout);
gbfputdbl(wpt->longitude, fout);
- gbfputdbl(wpt->altitude, fout);
+ gbfputdbl(wpt->altitude != unknown_alt ? wpt->altitude : 0, fout);
names = 1;
if (wpt->description && *wpt->description) names = 2;
gbfputint32(4, fout);
gbfputint32(1, fout);
gbfputint32(0x100001, fout);
- gbfputuint32((const gbuint32)gpsbabel_now, fout);
+ gbfputuint32((const gbuint32)gpsbabel_time, fout);
header_written = 0;
this_index = 0;
#include "defs.h"
#include <ctype.h>
-static FILE *file_in;
-static FILE *file_out;
+static gbfile *file_in;
+static gbfile *file_out;
static short_handle mkshort_handle;
/* static char *deficon = NULL; */
static void
rd_init(const char *fname)
{
+ int sz;
char ibuf[100] = {'0'} ;
const char *ezsig = "TerraByte Location File";
- file_in = xfopen(fname, "rb", MYNAME);
+ file_in = gbfopen_le(fname, "rb", MYNAME);
- fread(ibuf, 52, 1, file_in);
+ sz = gbfread(ibuf, 1, 52, file_in);
- if (strncmp(ibuf, ezsig, sizeof(ezsig)-1) ||
- ibuf[51] != 'W') {
- fatal(MYNAME ": %s is not an EasyGPS file\n", fname);
+ if ((sz < 52) ||
+ strncmp(ibuf, ezsig, sizeof(ezsig)-1) ||
+ (ibuf[51] != 'W')) {
+ fatal(MYNAME ": %s is not an EasyGPS file.\n", fname);
}
}
static void
rd_deinit(void)
{
- fclose(file_in);
+ gbfclose(file_in);
}
static void
wr_init(const char *fname)
{
- file_out = xfopen(fname, "wb", MYNAME);
+ file_out = gbfopen_le(fname, "wb", MYNAME);
mkshort_handle = mkshort_new_handle();
}
static void
wr_deinit(void)
{
- fclose(file_out);
+ gbfclose(file_out);
mkshort_del_handle(&mkshort_handle);
}
-/*
- * Read a pascal string from file_in and return a copy in allocated
- * storage.
- */
-static void *
-pas_read(void)
-{
- char *d;
- int ilen;
-
- ilen = fgetc(file_in);
- d = (char *) xmalloc(ilen + 1);
- fread(d, ilen, 1, file_in);
- d[ilen] = 0;
- return d;
-}
-
static void
data_read(void)
{
char p;
char ibuf[10];
- char bbuf[4096];
- char *bbufp;
do {
unsigned char tag;
waypoint *wpt_tmp;
wpt_tmp = waypt_new();
- for (tag = fgetc(file_in); tag != 0xff; tag = fgetc(file_in)) {
+ for (tag = gbfgetc(file_in); tag != 0xff; tag = gbfgetc(file_in)) {
switch (tag) {
case 1:
- wpt_tmp->shortname = (char *) pas_read();
+ wpt_tmp->shortname = gbfgetpstr(file_in);
break;
case 2:
case 3:
- wpt_tmp->description = (char *) pas_read();
+ wpt_tmp->description = gbfgetpstr(file_in);;
break;
case 5:
- wpt_tmp->notes = (char *) pas_read();
+ wpt_tmp->notes = gbfgetpstr(file_in);;
break;
case 6:
- wpt_tmp->url_link_text = (char *) pas_read();
+ wpt_tmp->url_link_text = gbfgetpstr(file_in);;
break;
case 7:
- wpt_tmp->icon_descr = (char *) pas_read();
+ wpt_tmp->icon_descr = gbfgetpstr(file_in);;
wpt_tmp->wpt_flags.icon_descr_is_dynamic = 1;
break;
case 8: /* NULL Terminated (vs. pascal) descr */
- bbufp = bbuf;
- for(;;) {
- p = fgetc(file_in);
- *bbufp++ = p;
- if ( 0 == p ) {
- break;
- }
- }
- wpt_tmp->notes = xstrdup(bbuf);
+ wpt_tmp->notes = gbfgetcstr(file_in);
break;
case 9: /* NULL Terminated (vs. pascal) link */
- bbufp = bbuf;
- for(;;) {
- p = fgetc(file_in);
- *bbufp++ = p;
- if ( 0 == p ) {
- break;
- }
- }
- wpt_tmp->url = xstrdup(bbuf);
+ wpt_tmp->url = gbfgetcstr(file_in);
break;
case 0x10:
- bbufp = bbuf;
- for(;;) {
- p = fgetc(file_in);
- *bbufp++ = p;
- if ( 0 == p ) {
- break;
- }
- }
- wpt_tmp->url_link_text = xstrdup(bbuf);
+ wpt_tmp->url_link_text = gbfgetcstr(file_in);
break;
case 0x63:
- fread(ibuf, 8, 1, file_in);
- wpt_tmp->latitude = le_read_double(ibuf);
+ wpt_tmp->latitude = gbfgetdbl(file_in);
break;
case 0x64:
- fread(ibuf, 8, 1, file_in);
- wpt_tmp->longitude = le_read_double(ibuf);
+ wpt_tmp->longitude = gbfgetdbl(file_in);
break;
case 0x65:
case 0x66:
- fread(ibuf, 8, 1, file_in);
+ gbfread(ibuf, 8, 1, file_in);
break;
case 0x84:
case 0x85:
- fread(ibuf, 4, 1, file_in);
+ gbfread(ibuf, 4, 1, file_in);
break;
case 0x86: /* May be proximity. I think it's time. */
- fread(ibuf, 4, 1, file_in);
+ gbfread(ibuf, 4, 1, file_in);
break;
default:
printf("Unknown tag %x\n", tag);
}
}
waypt_add(wpt_tmp);
- p = fgetc(file_in);
- } while (!feof(file_in) && (p == 'W'));
+ p = gbfgetc(file_in);
+ } while (!gbfeof(file_in) && (p == 'W'));
}
-
- /*
- * Write a Pascal string to the output stream.
- */
-static void
-write_pstring(const char *p)
-{
- int len = strlen(p);
- if (len > 255) {
- fatal(MYNAME ": String too long at %d bytes\n", len);
- }
- fputc(len, file_out);
- fwrite(p, len, 1, file_out);
-}
-
static void
ez_disp(const waypoint *wpt)
{
- char tbuf[8];
- fprintf(file_out, "W");
+ gbfputc('W', file_out);
+
if (wpt->shortname) {
- fputc(1, file_out);
- write_pstring(wpt->shortname);
+ gbfputc(1, file_out);
+ gbfputpstr(wpt->shortname, file_out);
}
if (wpt->description) {
- fputc(3, file_out);
- write_pstring(wpt->description);
+ gbfputc(3, file_out);
+ gbfputpstr(wpt->description, file_out);
}
if (wpt->icon_descr) {
- fputc(7, file_out);
- write_pstring(wpt->icon_descr);
+ gbfputc(7, file_out);
+ gbfputpstr(wpt->icon_descr, file_out);
}
- fputc(0x63, file_out);
- le_write_double(tbuf, wpt->latitude);
- fwrite(tbuf, 8, 1, file_out);
- fputc(0x64, file_out);
- le_write_double(tbuf, wpt->longitude);
- fwrite(tbuf, 8, 1, file_out);
+ gbfputc(0x63, file_out);
+ gbfputdbl(wpt->latitude, file_out);
+
+ gbfputc(0x64, file_out);
+ gbfputdbl(wpt->longitude, file_out);
+
if (wpt->notes) {
- fputc(5, file_out);
- write_pstring(wpt->notes);
+ gbfputc(5, file_out);
+ gbfputpstr(wpt->notes, file_out);
}
if (wpt->url_link_text) {
- fputc(6, file_out);
- write_pstring(wpt->url_link_text);
+ gbfputc(6, file_out);
+ gbfputpstr(wpt->url_link_text, file_out);
}
if (1 && wpt->url) {
- fputc(9, file_out);
- fputs(wpt->url, file_out);
- fputc(0, file_out);
+ gbfputc(9, file_out);
+ gbfputcstr(wpt->url, file_out);
}
- fputc(0xff, file_out);
+ gbfputc(0xff, file_out);
}
static void
{
setshort_length(mkshort_handle, 6);
- fprintf(file_out,
+ gbfprintf(file_out,
"TerraByte Location File Copyright 2001 TopoGrafix\n");
/*
* I don't know what this is.
*/
- fprintf(file_out, "%c", 0xb);
+ gbfprintf(file_out, "%c", 0xb);
waypt_disp_all(ez_disp);
/*
* Files seem to always end in a zero.
*/
- fputc(0x00, file_out);
+ gbfputc(0x00, file_out);
}
{
&transform_vecs,
"transform",
- "Transformate waypoints into a route, tracks into routes, ..."
+ "Transform waypoints into a route, tracks into routes, ..."
},
#endif
{
static char *deficon = NULL;
static char *category = NULL;
+#define MILITANT_VALID_WAYPT_CHARS "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
+
/* Technically, even this is a little loose as spaces arent allowed */
-static char valid_waypt_chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789";
+static const char *valid_waypt_chars = MILITANT_VALID_WAYPT_CHARS " ";
static
arglist_t garmin_args[] = {
case 130: /* Garmin Etrex (yellow) */
receiver_short_length = 6;
break;
+ case 295:
+ /* eTrex (yellow, firmware v. 3.30) */
+ receiver_short_length = 6;
+ valid_waypt_chars =
+ MILITANT_VALID_WAYPT_CHARS " +-";
+ setshort_badchars(mkshort_handle, "\"$.,'!");
+ break;
+
case 155: /* Garmin V */
case 404: /* SP2720 */
receiver_short_length = 20;
waypt_add(wpt_tmp);
GPS_Way_Del(&way[i]);
}
+ xfree(way);
}
static
- pvt->leap_scnds;
wptimes = floor(wptime);
wpt->creation_time = wptimes;
- wpt->centiseconds = 100.0 * (wptime - wptimes);
+ wpt->microseconds = 1000000.0 * (wptime - wptimes);
/*
* The Garmin spec fifteen different models that use a different
if (GPS_Command_Pvt_Get(&pvt_fd, &pvt)) {
pvt2wpt(pvt, wpt);
+ GPS_Pvt_Del(&pvt);
+
wpt->shortname = xstrdup("Position");
if (gps_errno && posn_status) {
fatal(MYNAME ": Fatal error reading position.\n");
}
+ waypt_free(wpt);
GPS_Pvt_Del(&pvt);
return NULL;
}
/*
- * If we're not using smart icons, try to put the cache info in the
+ * If we're using smart names, try to put the cache info in the
* description.
*/
const char *
get_gc_info(waypoint *wpt)
{
- if (global_opts.no_smart_icons) {
+ if (global_opts.smart_names) {
if (wpt->gc_data.type == gt_virtual) return "V ";
if (wpt->gc_data.type == gt_unknown) return "? ";
if (wpt->gc_data.type == gt_multi) return "Mlt ";
+ if (wpt->gc_data.type == gt_earth) return "EC ";
+ if (wpt->gc_data.type == gt_event) return "Ev ";
if (wpt->gc_data.container == gc_micro) return "M ";
if (wpt->gc_data.container == gc_small) return "S ";
}
}
way[i]->ident[sizeof(way[i]->ident)-1] = 0;
- if (!global_opts.no_smart_icons &&
+ if (global_opts.smart_names &&
wpt->gc_data.diff && wpt->gc_data.terr) {
snprintf(obuf, sizeof(obuf), "%s%d/%d %s",
get_gc_info(wpt),
/* GPX - out */
void
-garmin_fs_xml_fprint(FILE *ofd, const waypoint *waypt)
+garmin_fs_xml_fprint(gbfile *ofd, const waypoint *waypt)
{
garmin_fs_t *gmsd = GMSD_FIND(waypt);
if (gmsd == NULL) return;
{
int space = 1;
- fprintf(ofd, "%*s<extensions>\n", space++ * 2, "");
- fprintf(ofd, "%*s<gpxx:WaypointExtension xmlns:gpxx=\"" \
+ gbfprintf(ofd, "%*s<extensions>\n", space++ * 2, "");
+ gbfprintf(ofd, "%*s<gpxx:WaypointExtension xmlns:gpxx=\"" \
"http://www.garmin.com/xmlschemas/GpxExtensions/v2\" " \
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " \
"xsi:schemaLocation=\"http://www.garmin.com/xmlschemas/GpxExtensions/v2 " \
"http://www.garmin.com/xmlschemas/GpxExtensions/v2/GpxExtensionsv2.xsd\">\n", space++ * 2, "");
if (gmsd->flags.proximity)
- fprintf(ofd, "%*s<gpxx:Proximity>%.6f</gpxx:Proximity>\n", space * 2, "", gmsd->proximity);
+ gbfprintf(ofd, "%*s<gpxx:Proximity>%.6f</gpxx:Proximity>\n", space * 2, "", gmsd->proximity);
if (gmsd->flags.temperature)
- fprintf(ofd, "%*s<gpxx:Temperature>%.6f</gpxx:Temperature>\n", space * 2, "", gmsd->temperature);
+ gbfprintf(ofd, "%*s<gpxx:Temperature>%.6f</gpxx:Temperature>\n", space * 2, "", gmsd->temperature);
if (gmsd->flags.depth)
- fprintf(ofd, "%*s<gpxx:Depth>%.6f</gpxx:Depth>\n", space * 2, "", gmsd->depth);
+ gbfprintf(ofd, "%*s<gpxx:Depth>%.6f</gpxx:Depth>\n", space * 2, "", gmsd->depth);
if (gmsd->flags.display)
{
char *cx;
cx = "SymbolAndName";
break;
}
- fprintf(ofd, "%*s<gpxx:DisplayMode>%s</gpxx:DisplayMode>\n", space * 2, "", cx);
+ gbfprintf(ofd, "%*s<gpxx:DisplayMode>%s</gpxx:DisplayMode>\n", space * 2, "", cx);
}
if (gmsd->flags.category && gmsd->category)
{
int i;
gbuint16 cx = gmsd->category;
- fprintf(ofd, "%*s<gpxx:Categories>\n", space++ * 2, "");
+ gbfprintf(ofd, "%*s<gpxx:Categories>\n", space++ * 2, "");
for (i = 0; i < 16; i++)
{
if (cx & 1)
- fprintf(ofd, "%*s<gpxx:Category>Category %d</gpxx:Category>\n", space*2, "", i+1);
+ gbfprintf(ofd, "%*s<gpxx:Category>Category %d</gpxx:Category>\n", space*2, "", i+1);
cx = cx >> 1;
}
- fprintf(ofd, "%*s</gpxx:Categories>\n", --space * 2, "");
+ gbfprintf(ofd, "%*s</gpxx:Categories>\n", --space * 2, "");
}
- fprintf(ofd, "%*s</gpxx:WaypointExtension>\n", --space * 2, "");
- fprintf(ofd, "%*s</extensions>\n", --space * 2, "");
+ gbfprintf(ofd, "%*s</gpxx:WaypointExtension>\n", --space * 2, "");
+ gbfprintf(ofd, "%*s</extensions>\n", --space * 2, "");
}
}
/* for GPX */
void garmin_fs_xml_convert(const int base_tag, int tag, const char *cdatastr, waypoint *waypt);
-void garmin_fs_xml_fprint(FILE *ofd, const waypoint *waypt);
+void garmin_fs_xml_fprint(gbfile *ofd, const waypoint *waypt);
/* common garmin_fs utilities */
Based on information provided by Ian Cowley, Sigurd Humerfelt,
and Garmin MapSource
- Copyright (C) 2003 Robert Lipe, robertlipe@usa.net
+ Copyright (C) 2003-2007 Robert Lipe, robertlipe@usa.net
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
{ 99, 8239, "Ghost Town" },
{ 113, 16393, "Glider Area" },
{ 68, 8197, "Golf Course" },
- { 2, 2, "Green Diamond" },
- { 15, 15, "Green Square" },
+ { 2, 2, "Diamond, Green" },
+ { 15, 15, "Square, Green" },
{ 108, 16388, "Heliport" },
{ 9, 9, "Horn" },
{ 57, 171, "Hunting Area" },
{ 59, 173, "Lodging" },
{ 59, 173, "Hotel" },
{ 20, 21, "Man Overboard" },
- { 0, 0, "Marina" },
+ { 0, 0, "Anchor" },
{ 43, 156, "Medical Facility" },
{ 66, 8195, "Mile Marker" },
{ 101, 8241, "Military" },
{ 83, 8214, "Post Office" },
{ 109, 16389, "Private Field" },
{ 36, 37, "Radio Beacon" },
- { 3, 3, "Red Diamond" },
- { 16, 16, "Red Square" },
+ { 3, 3, "Diamond, Red" },
+ { 16, 16, "Square, Red" },
{ 10, 10, "Residence" },
{ 10, 10, "House" },
{ 11, 11, "Restaurant" },
{ 114, 16394, "Ultralight Area" },
{ 139, 8282, "Water Hydrant" }, /* new in MapSource V5 */
{ 18, 18, "Waypoint" },
- { 17, 17, "White Buoy" },
- { 35, 36, "White Dot" },
+ { 17, 17, "Buoy, White" },
+ { 35, 36, "Dot, White" },
{ 88, 8219, "Zoo" },
/* Custom icons. The spec reserves 7680-8191 for the custom
{ 143, 8289, "Pin, Red" },
{ 144, 8287, "Pin, Blue" },
{ 145, 8288, "Pin, Green" },
- { 146, 8292, "Diamond, Red" },
- { 147, 8290, "Diamond, Blue" },
- { 148, 8291, "Diamond, Green" },
+ { 146, 8292, "Block, Red" },
+ { 147, 8290, "Block, Blue" },
+ { 148, 8291, "Block, Green" },
{ 149, 8293, "Bike Trail" },
{ 150, 181, "Fishing Hot Spot Facility" },
{ 151, 8249, "Police Station"},
{ 159, 188, "Weed Bed" },
{ 160, 189, "Dropoff" },
{ 161, 190, "Dock" },
+ { 162, 191, "Marina" },
+ { 163, 192, "Bait and Tackle" },
+ { 164, 193, "Stump" },
/* New in Garmin protocol spec from June 2006. Extracted from
* spec and fed through some horrible awk to add ones we didn't
* have before but normalized for consistency. */
{ -1, 8359, "Asian Food" },
- { -1, 8296, "Blue Circle" },
- { -1, 8299, "Blue Diamond" },
- { -1, 8317, "Blue Letter A" },
- { -1, 8318, "Blue Letter B" },
- { -1, 8319, "Blue Letter C" },
- { -1, 8320, "Blue Letter D" },
- { -1, 8341, "Blue Number 0" },
- { -1, 8342, "Blue Number 1" },
- { -1, 8343, "Blue Number 2" },
- { -1, 8344, "Blue Number 3" },
- { -1, 8345, "Blue Number 4" },
- { -1, 8346, "Blue Number 5" },
- { -1, 8347, "Blue Number 6" },
- { -1, 8348, "Blue Number 7" },
- { -1, 8349, "Blue Number 8" },
- { -1, 8350, "Blue Number 9" },
- { -1, 8302, "Blue Oval" },
- { -1, 8305, "Blue Rectangle" },
- { -1, 8308, "Blue Square" },
- { -1, 8351, "Blue Triangle" },
+ { 167, 8296, "Circle, Blue" },
+ { 168, 8299, "Diamond, Blue" },
+ { 178, 8317, "Letter A, Blue" },
+ { 181, 8318, "Letter B, Blue" },
+ { 184, 8319, "Letter C, Blue" },
+ { 187, 8320, "Letter D, Blue" },
+ { 190, 8341, "Number 0, Blue" },
+ { 193, 8342, "Number 1, Blue" },
+ { 196, 8343, "Number 2, Blue" },
+ { 199, 8344, "Number 3, Blue" },
+ { 202, 8345, "Number 4, Blue" },
+ { 205, 8346, "Number 5, Blue" },
+ { 208, 8347, "Number 6, Blue" },
+ { 211, 8348, "Number 7, Blue" },
+ { 214, 8349, "Number 8, Blue" },
+ { 217, 8350, "Number 9, Blue" },
+ { 171, 8302, "Oval, Blue" },
+ { 174, 8305, "Rectangle, Blue" },
+ { 175, 8308, "Square, Blue" },
+ { 218, 8351, "Triangle, Blue" },
{ -1, 8254, "Border Crossing (Port Of Entry)" },
{ -1, 182, "Bottom Conditions" },
{ -1, 8360, "Deli" },
{ -1, 8232, "Geographic place name, land" },
{ -1, 8230, "Geographic place name, Man-made" },
{ -1, 8231, "Geographic place name, water" },
- { -1, 8295, "Green circle" },
- { -1, 8313, "Green Letter A" },
- { -1, 8315, "Green Letter B" },
- { -1, 8314, "Green Letter C" },
- { -1, 8316, "Green Letter D" },
- { -1, 8331, "Green Number 0" },
- { -1, 8332, "Green Number 1" },
- { -1, 8333, "Green Number 2" },
- { -1, 8334, "Green Number 3" },
- { -1, 8335, "Green Number 4" },
- { -1, 8336, "Green Number 5" },
- { -1, 8337, "Green Number 6" },
- { -1, 8338, "Green Number 7" },
- { -1, 8339, "Green Number 8" },
- { -1, 8340, "Green Number 9" },
- { -1, 8301, "Green Oval" },
- { -1, 8304, "Green Rectangle" },
- { -1, 8352, "Green Triangle" },
+ { 166, 8295, "Circle, Green" },
+ { 177, 8313, "Letter A, Green" },
+ { 180, 8315, "Letter B, Green" },
+ { 183, 8314, "Letter C, Green" },
+ { 186, 8316, "Letter D, Green" },
+ { 189, 8331, "Number 0, Green" },
+ { 192, 8332, "Number 1, Green" },
+ { 195, 8333, "Number 2, Green" },
+ { 198, 8334, "Number 3, Green" },
+ { 201, 8335, "Number 4, Green" },
+ { 204, 8336, "Number 5, Green" },
+ { 207, 8337, "Number 6, Green" },
+ { 210, 8338, "Number 7, Green" },
+ { 213, 8339, "Number 8, Green" },
+ { 216, 8340, "Number 9, Green" },
+ { 170, 8301, "Oval, Green" },
+ { 173, 8304, "Rectangle, Green" },
+ { 219, 8352, "Triangle, Green" },
{ -1, 16385, "Intersection" },
{ -1, 8201, "Intl freeway hwy" },
{ -1, 8202, "Intl national hwy" },
{ -1, 168, "Null" },
{ -1, 180, "Open 24 Hours" },
{ -1, 8222, "Ramp intersection" },
- { -1, 8294, "Red circle" },
- { -1, 8309, "Red Letter A" },
- { -1, 8310, "Red Letter B" },
- { -1, 8311, "Red Letter C" },
- { -1, 8312, "Red Letter D" },
- { -1, 8321, "Red Number 0" },
- { -1, 8322, "Red Number 1" },
- { -1, 8323, "Red Number 2" },
- { -1, 8324, "Red Number 3" },
- { -1, 8325, "Red Number 4" },
- { -1, 8326, "Red Number 5" },
- { -1, 8327, "Red Number 6" },
- { -1, 8328, "Red Number 7" },
- { -1, 8329, "Red Number 8" },
- { -1, 8330, "Red Number 9" },
- { -1, 8300, "Red Oval" },
- { -1, 8303, "Red Rectangle" },
- { -1, 8353, "Red Triangle" },
+ { 165, 8294, "Circle, Red" },
+ { 176, 8309, "Letter A, Red" },
+ { 179, 8310, "Letter B, Red" },
+ { 182, 8311, "Letter C, Red" },
+ { 185, 8312, "Letter D, Red" },
+ { 188, 8321, "Number 0, Red" },
+ { 191, 8322, "Number 1, Red" },
+ { 194, 8323, "Number 2, Red" },
+ { 197, 8324, "Number 3, Red" },
+ { 200, 8325, "Number 4, Red" },
+ { 203, 8326, "Number 5, Red" },
+ { 206, 8327, "Number 6, Red" },
+ { 209, 8328, "Number 7, Red" },
+ { 212, 8329, "Number 8, Red" },
+ { 215, 8330, "Number 9, Red" },
+ { 169, 8300, "Oval, Red" },
+ { 172, 8303, "Rectangle, Red" },
+ { 220, 8353, "Triangle, Red" },
{ -1, 8362, "Seafood" },
{ -1, 8194, "State Hwy" },
{ -1, 8363, "Steak" },
{ -1, 16387, "VHF Omni-range" },
{ -1, 16397, "VOR-DME" },
{ -1, 16396, "VOR/TACAN" },
+
+ /* This block new on 1/15 from the Mapsource 6.12 beta */
+ { 221, -1, "Contact, Blonde" },
+ { 222, -1, "Contact, Clown" },
+ { 223, -1, "Contact, Glasses" },
+ { 224, -1, "Contact, Panda" },
+ { 225, -1, "Multi-Cache" },
+ { 226, -1, "Letterbox Cache" },
+ { 227, -1, "Puzzle Cache" },
+ { 228, -1, "Library" },
+ { 229, -1, "Ground Transportation" },
+ { 230, -1, "City Hall" },
+ { 231, -1, "Winery" },
+ { 232, -1, "ATV" },
+ { 233, -1, "Big Game" },
+ { 234, -1, "Blind" },
+ { 235, -1, "Blood Trail" },
+ { 236, -1, "Cover" },
+ { 237, -1, "Covey" },
+ { 238, -1, "Food Source" },
+ { 239, -1, "Furbearer" },
+ { 240, -1, "Lodge" },
+ { 241, -1, "Small Game" },
+ { 242, -1, "Animal Tracks" },
+ { 243, -1, "Treed Quarry" },
+ { 244, -1, "Tree Stand" },
+ { 245, -1, "Truck" },
+ { 246, -1, "Upland Game" },
+ { 247, -1, "Waterfowl" },
+ { 248, -1, "Water Source" },
+
{ -1, -1, NULL },
};
int gt_find_icon_number_from_desc(const char *desc, garmin_formats_e garmin_format)
{
+ static int find_flag = 0;
icon_mapping_t *i;
int def_icon = DEFAULT_ICON_VALUE;
int n;
}
}
}
+
+ /*
+ * try to handle some complex icon names: i.e. "Blue Diamond" and "Diamond, Blue"
+ * "find_flag" prevents us from a possible endless loop
+ */
+
+ if (find_flag == 0)
+ {
+ char **prefix;
+ char *prefixes[] = {"White ", "Red ", "Green ", "Blue ", "Black ", NULL};
+
+ for (prefix = prefixes; *prefix != NULL; prefix++)
+ {
+ int len = strlen(*prefix);
+
+ if (case_ignore_strncmp(desc, *prefix, len) == 0)
+ {
+ char buff[64];
+ int result;
+
+ snprintf(buff, sizeof(buff), "%s, %s", &desc[len], *prefix);
+ rtrim(buff);
+
+ find_flag = 1;
+ result = gt_find_icon_number_from_desc(buff, garmin_format);
+ find_flag = 0;
+
+ return result;
+ }
+ }
+ }
return def_icon;
}
} while (x->country != NULL);
return NULL;
}
+
+#if MAKE_TABLE
+
+/*
+ * Used to generate icon tables in appendix.
+ * cc -DMAKE_TABLE garmin_tables.c fatal.o util.o globals.o -lm
+ */
+
+int cet_utf8_to_ucs4(const char *str, int *bytes, int *value)
+{
+ fatal("Should not be here.");
+}
+
+
+int
+sortem(const void *a, const void *b)
+{
+ const icon_mapping_t *aa = a;
+ const icon_mapping_t *bb = b;
+
+// return aa->mpssymnum - bb->mpssymnum;
+ return strcmp(aa->icon, bb->icon);
+
+}
+
+main()
+{
+ icon_mapping_t *i;
+ qsort(garmin_icon_table, sizeof(garmin_icon_table) / sizeof(garmin_icon_table[0]) - 1, sizeof(garmin_icon_table[0]), sortem);
+ for (i = garmin_icon_table; i->icon; i++) {
+// printf("%03d\t%s\n", i->mpssymnum, i->icon);
+ printf("<member>%s</member>\n", i->icon);
+ }
+}
+#endif
static char *opt_time_format = NULL;
static char *opt_precision = NULL;
static char *opt_utc = NULL;
+static char *opt_grid = NULL;
static
arglist_t garmin_txt_args[] = {
{"date", &opt_date_format, "Read/Write date format (i.e. yyyy/mm/dd)", NULL, ARGTYPE_STRING, ARG_NOMINMAX},
{"datum", &opt_datum, "GPS datum (def. WGS 84)", "WGS 84", ARGTYPE_STRING, ARG_NOMINMAX},
{"dist", &opt_dist, "Distance unit [m=metric, s=statute]", "m", ARGTYPE_STRING, ARG_NOMINMAX},
+ {"grid", &opt_grid, "Write position using this grid.", NULL, ARGTYPE_STRING, ARG_NOMINMAX},
{"prec", &opt_precision, "Precision of coordinates", "3", ARGTYPE_INT, ARG_NOMINMAX},
{"temp", &opt_temp, "Temperature unit [c=Celsius, f=Fahrenheit]", "c", ARGTYPE_STRING, ARG_NOMINMAX},
{"time", &opt_time_format, "Read/Write time format (i.e. HH:mm:ss xx)", NULL, ARGTYPE_STRING, ARG_NOMINMAX},
NULL
};
+static char *grid_short_names[] = {
+ "ddd",
+ "dmm",
+ "dms",
+ "bng",
+ NULL
+};
+
+static char *grid_long_names[] = { /* starting at index !!! 3 !!! after inbuild lat/lon ... grids */
+ "British National Grid",
+ NULL
+};
+
+#define GRID_IDX_LAT_LON_DDD 0
+#define GRID_IDX_LAT_LON_DMM 1
+#define GRID_IDX_LAT_LON_DMS 2
+#define GRID_IDX_BNG 3
+
+#define GRID_IDX_MAX GRID_IDX_BNG
+
/* helpers */
static char *
static void
print_position(const waypoint *wpt)
{
- int deg;
- double min;
- char num[64];
- double lat, lon;
+ int valid;
+ double lat, lon, north, east;
+ char map[3];
+ char latsig, lonsig;
+ double latmin, lonmin, latsec, lonsec;
+ int latint, lonint;
convert_datum((waypoint *)wpt, 0, &lat, &lon);
- deg = fabs(lat);
- min = (double)60.0 * (fabs(lat) - deg);
- snprintf(num, sizeof(num), "%0*.*f", precision + 3, precision, min);
- if (atoi(num) == 60) {
- deg++;
- min = 0;
- }
- gbfprintf(fout, "%c%d %0*.*f ", lat < 0.0 ? 'S' : 'N', deg, precision + 3, precision, min);
-
- deg = fabs(lon);
- min = (double)60.0 * (fabs(lon) - deg);
- snprintf(num, sizeof(num), "%0*.*f", precision + 3, precision, min);
- if (atoi(num) == 60) {
- deg++;
- min = 0;
+ /* ----------------------------------------------------------------------------*/
+ /* the following code is from pretty_deg_format (util.c) */
+ /* ----------------------------------------------------------------------------*/
+ /* !ToDo! generate common code for calculating of degrees, minutes and seconds */
+ /* ----------------------------------------------------------------------------*/
+
+ latsig = lat < 0 ? 'S':'N';
+ lonsig = lon < 0 ? 'W':'E';
+ latint = abs((int) lat);
+ lonint = abs((int) lon);
+ latmin = 60.0 * (fabs(lat) - latint);
+ lonmin = 60.0 * (fabs(lon) - lonint);
+ latsec = 60.0 * (latmin - floor(latmin));
+ lonsec = 60.0 * (lonmin - floor(lonmin));
+
+ switch(grid_index) {
+
+ case GRID_IDX_LAT_LON_DDD:
+
+ gbfprintf(fout, "%c%0.*f %c%0.*f\t",
+ latsig, precision, fabs(lat),
+ lonsig, precision, fabs(lon));
+ break;
+
+ case GRID_IDX_LAT_LON_DMM:
+
+ gbfprintf(fout, "%c%d %0*.*f %c%d %0*.*f\t",
+ latsig, latint, precision + 3, precision, latmin,
+ lonsig, lonint, precision + 3, precision, lonmin);
+ break;
+
+ case GRID_IDX_LAT_LON_DMS:
+
+ gbfprintf(fout, "%c%d %d %.*f %c%d %d %.*f\t",
+ latsig, latint, (int)latmin, precision, latsec,
+ lonsig, lonint, (int)lonmin, precision, lonsec);
+ break;
+
+ case GRID_IDX_BNG:
+ valid = GPS_Math_WGS84_To_UKOSMap_M(wpt->latitude, wpt->longitude, &east, &north, map);
+ is_fatal(! valid, MYNAME ": Some (or all?) of the coordinates cannot be displayed using \"BNG\".");
+ gbfprintf(fout, "%s %5.0f %5.0f", map, east, north);
+ break;
}
- gbfprintf(fout, "%c%d %0*.*f\t", lon < 0.0 ? 'W' : 'E', deg, precision + 3, precision, min);
}
static void
static void
garmin_txt_wr_init(const char *fname)
{
+ char *grid_str;
+
memset(>xt_flags, 0, sizeof(gtxt_flags));
fout = gbfopen(fname, "wb", MYNAME);
- grid_index = 1;
gtxt_flags.metric = (toupper(*get_option_val(opt_dist, "m")) == 'M');
gtxt_flags.celsius = (toupper(*get_option_val(opt_temp, "c")) == 'C');
precision = atoi(opt_precision);
is_fatal(precision < 0, MYNAME ": Invalid precision (%s)!", opt_precision);
}
+
datum_str = get_option_val(opt_datum, NULL);
- datum_index = GPS_Lookup_Datum_Index(datum_str);
- is_fatal(datum_index < 0, MYNAME ": Invalid or unknown gps datum (%s)!", datum_str);
+ grid_str = get_option_val(opt_grid, NULL);
+
+ grid_index = -1;
+ if (grid_str == NULL) {
+ grid_index = 1; /* default: dmm */
+ }
+ else if (! sscanf(grid_str, "%d", &grid_index)) {
+ char *name;
+ int index;
+
+ index = 0;
+ while ((name = grid_short_names[index])) {
+ if (case_ignore_strcmp(name, grid_str) == 0) {
+ grid_index = index;
+ break;
+ }
+ index++;
+ }
+ if (name == NULL) { /* look in "long names" */
+ index = 0;
+ while ((name = grid_long_names[index])) {
+ if (case_ignore_strcmp(name, grid_str) == 0) break;
+ else index++;
+ }
+ is_fatal(name == NULL,
+ MYNAME ": Unsupported grid (%s). See GPSBabel help for supported grids.", grid_str);
+ grid_index = 3 + index;
+ }
+ }
+ else is_fatal(grid_index > GRID_IDX_MAX, MYNAME ": Grid index out of range (0..%d)!", GRID_IDX_MAX);
+
+ switch(grid_index) {
+ case GRID_IDX_BNG: /* force datum to "Ord Srvy Grt Britn" */
+ datum_index = GPS_Lookup_Datum_Index("OSGB36");
+ break;
+ default:
+ datum_index = GPS_Lookup_Datum_Index(datum_str);
+ is_fatal(datum_index < 0, MYNAME ": Invalid or unknown gps datum (%s)!", datum_str);
+ }
if (opt_utc != NULL) {
if (case_ignore_strcmp(opt_utc, "utc") == 0)
static void
garmin_txt_write(void)
{
- cet_gbfprintf(fout, &cet_cs_vec_cp1252, "Grid\tLat/Lon hddd%cmm.mmm'\r\n", 0xB0);
+ switch(grid_index) {
+ case 0:
+ cet_gbfprintf(fout, &cet_cs_vec_cp1252, "Grid\tLat/Lon hddd.ddddd%c\r\n", 0xB0);
+ break;
+ case 1:
+ cet_gbfprintf(fout, &cet_cs_vec_cp1252, "Grid\tLat/Lon hddd%cmm.mmm'\r\n", 0xB0);
+ break;
+ case 2:
+ cet_gbfprintf(fout, &cet_cs_vec_cp1252, "Grid\tLat/Lon hddd%cmm'ss.s\"\r\n", 0xB0);
+ break;
+ case GRID_IDX_BNG:
+ cet_gbfprintf(fout, &cet_cs_vec_cp1252, "Grid\t%s\r\n", grid_long_names[0]);
+ datum_str = "Ord Srvy Grt Britn";
+ break;
+ }
+
gbfprintf(fout, "Datum\t%s\r\n\r\n", datum_str);
waypoints = 0;
parse_position(const char *str, waypoint *wpt)
{
double lat, lon;
- unsigned char lathemi, hemilon;
+ unsigned char lathemi, lonhemi;
int deg_lat, deg_lon, min_lat, min_lon;
+ char map[3];
switch(grid_index) {
- case 0:
- sscanf(str, "%c%lf %c%lf", &lathemi, &lat, &hemilon, &lon);
- break;
- case 1:
- sscanf(str, "%c%d %lf %c%d %lf", &lathemi, °_lat, &lat, &hemilon, °_lon, &lon);
- lat = (double)deg_lat + (lat / (double)60);
- lon = (double)deg_lon + (lon / (double)60);
- break;
- case 2:
- sscanf(str, "%c%d %d %lf %c%d %d %lf", &lathemi, °_lat, &min_lat, &lat, &hemilon, °_lon, &min_lon, &lon);
- lat = (double)deg_lat + ((double)min_lat / (double)60) + (lat / (double)3600.0);
- lon = (double)deg_lon + ((double)min_lon / (double)60) + (lon / (double)3600.0);
- break;
+
+ case GRID_IDX_LAT_LON_DDD:
+ sscanf(str, "%c%lf %c%lf", &lathemi, &lat, &lonhemi, &lon);
+ break;
+
+ case GRID_IDX_LAT_LON_DMM:
+ sscanf(str, "%c%d %lf %c%d %lf", &lathemi, °_lat, &lat, &lonhemi, °_lon, &lon);
+ lat = (double)deg_lat + (lat / (double)60);
+ lon = (double)deg_lon + (lon / (double)60);
+ break;
+ case GRID_IDX_LAT_LON_DMS:
+ sscanf(str, "%c%d %d %lf %c%d %d %lf", &lathemi, °_lat, &min_lat, &lat, &lonhemi, °_lon, &min_lon, &lon);
+ lat = (double)deg_lat + ((double)min_lat / (double)60) + (lat / (double)3600.0);
+ lon = (double)deg_lon + ((double)min_lon / (double)60) + (lon / (double)3600.0);
+ break;
+
+ case GRID_IDX_BNG:
+ sscanf(str, "%2s %lf %lf", map, &lat, &lon);
+ lathemi = lonhemi = '\0';
+ break;
}
if (lathemi == 'S')
else
wpt->latitude = lat;
- if (hemilon == 'W')
+ if (lonhemi == 'W')
wpt->longitude = -lon;
else
wpt->longitude = lon;
parse_grid(void)
{
char *str = csv_lineparse(NULL, "\t", "", 1);
+ grid_index = -1;
+
if (str != NULL) {
- if (strstr(str, "dd.ddddd") != 0) grid_index = 0;
- else if (strstr(str, "mm.mmm") != 0) grid_index = 1;
- else if (strstr(str, "mm'ss.s") != 0) grid_index = 2;
- else fatal(MYNAME ": Unsupported grid (%s)!\n", str);
+ if (strstr(str, "dd.ddddd") != 0) grid_index = GRID_IDX_LAT_LON_DDD;
+ else if (strstr(str, "mm.mmm") != 0) grid_index = GRID_IDX_LAT_LON_DMM;
+ else if (strstr(str, "mm'ss.s") != 0) grid_index = GRID_IDX_LAT_LON_DMS;
+ else {
+ char *name;
+ int index = 0;
+
+ while ((name = grid_long_names[index])) {
+ if (case_ignore_strcmp(name, str) == 0) {
+ grid_index = GRID_IDX_BNG + index;
+ break;
+ }
+ index++;
+ }
+ }
+ is_fatal(grid_index < 0, MYNAME ": Unsupported grid (%s)!", str);
}
else
fatal(MYNAME ": Missing grid headline!\n");
/***************************************************************/
static void
-garmin_rd_init(const char *fname)
+garmin_txt_rd_init(const char *fname)
{
memset(>xt_flags, 0, sizeof(gtxt_flags));
}
static void
-garmin_rd_deinit(void)
+garmin_txt_rd_deinit(void)
{
header_type h;
ff_vecs_t garmin_txt_vecs = {
ff_type_file,
FF_CAP_RW_ALL,
- garmin_rd_init,
+ garmin_txt_rd_init,
garmin_txt_wr_init,
- garmin_rd_deinit,
+ garmin_txt_rd_deinit,
garmin_txt_wr_deinit,
garmin_txt_read,
garmin_txt_write,
/*
Common GPSBabel file I/O API
-
- Copyright (C) 2006 Olaf Klein
+ Copyright (C) 2006 Olaf Klein, o.b.klein@gpsbabel.org
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#endif
#define MYNAME "gbfile"
-#define NO_ZLIB MYNAME ": No zlib support\n."
+#define NO_ZLIB MYNAME ": No zlib support.\n"
/* About the ZLIB_INHIBITED stuff:
*
/* GPSBabel 'file' standard calls */
+/*
+ * gbfopen: (as xfopen) plus the name of the calling GPSBabel module (MYNAME)
+ */
+
gbfile *
gbfopen(const char *filename, const char *mode, const char *module)
{
file->line = xstrdup("");
file->mode = 'r'; // default
file->binary = (strchr(mode, 'b') != NULL);
+ file->back = -1;
for (m = mode; *m; m++) {
switch(tolower(*m)) {
/* Do we have a '.gz' extension in the filename ? */
len = strlen(file->name);
if ((len > 3) && (case_ignore_strcmp(&file->name[len-3], ".gz") == 0)) {
+#if !ZLIB_INHIBITED
/* force gzipped files on output */
file->gzapi = 1;
+#else
+ fatal(NO_ZLIB);
+#endif
}
if (file->gzapi) {
return result;
}
+/*
+ * gbfclose: (as fclose)
+ */
+
void
gbfclose(gbfile *file)
{
xfree(file);
}
+/*
+ * gbfgetc: (as fgetc)
+ */
+
int
gbfgetc(gbfile *file)
{
}
}
+/*
+ * gbfgets: (as fgets)
+ */
+
char *
gbfgets(char *buf, int len, gbfile *file)
{
return (*result != '\0') ? result : NULL;
}
-
+/*
+ * gbfread: (as fread)
+ */
+
gbsize_t
gbfread(void *buf, const gbsize_t size, const gbsize_t members, gbfile *file)
{
if (file->gzapi) {
#if !ZLIB_INHIBITED
- int result;
- result = gzread(file->handle.gz, buf, size * members) / size;
+ int result = 0;
+ char *target = buf;
+ int count = size * members;
+
+ if (file->back != -1) {
+ *target++ = file->back;
+ count--;
+ result++;
+ file->back = -1;
+ }
+ result += gzread(file->handle.gz, target, count);
+ result /= size;
if ((result < 0) || ((gbsize_t)result < members)) {
int errnum;
const char *errtxt;
errtxt = gzerror(file->handle.gz, &errnum);
+
+ /* Workaround for zlib bug: buffer error on empty files */
+ if ((errnum == Z_BUF_ERROR) && (gztell(file->handle.gz) == 0)) {
+ return (gbsize_t) 0;
+ }
if ((errnum != Z_STREAM_END) && (errnum != 0))
fatal("%s: zlib returned error %d ('%s')!\n",
file->module, errnum, errtxt);
}
}
+/*
+ * gbfprintf: (as fprintf)
+ */
+
int
gbfprintf(gbfile *file, const char *format, ...)
{
return gbfwrite(file->buff, 1, len, file);
}
+/*
+ * gbfputc: (as fputc)
+ */
+
int
gbfputc(int c, gbfile *file)
{
return c;
}
+/*
+ * gbfputs: (as fputs)
+ */
+
int
gbfputs(const char *s, gbfile *file)
{
return gbfwrite(s, 1, strlen(s), file);
}
+/*
+ * gbfwrite: (as fwrite)
+ */
+
int
gbfwrite(const void *buf, const gbsize_t size, const gbsize_t members, gbfile *file)
{
return result;
}
+/*
+ * gbfflush: (as fflush)
+ */
+
int
gbfflush(gbfile *file)
{
}
}
+/*
+ * gbfclearerr: (as clearerr)
+ */
+
void
gbfclearerr(gbfile *file)
{
if (file->gzapi) {
#if !ZLIB_INHIBITED
gzclearerr(file->handle.gz);
+#else
+ fatal(NO_ZLIB);
#endif
}
else {
}
}
+/*
+ * gbferror: (as ferror)
+ */
+
int
gbferror(gbfile *file)
{
return errnum;
}
+/*
+ * gbfrewind: (as frewind)
+ */
+
void
gbfrewind(gbfile *file)
{
gbfclearerr(file);
}
+/*
+ * gbfseek: (as fseek)
+ */
+
int
gbfseek(gbfile *file, gbint32 offset, int whence)
{
assert(whence != SEEK_END);
#if !ZLIB_INHIBITED
+ if ((whence == SEEK_CUR) && (file->back != -1)) offset--;
result = gzseek(file->handle.gz, offset, whence);
+ file->back = -1;
#else
result = 1;
#endif
- is_fatal(result < 0,
- "%s: online compression not yet supported for this format!", file->module);
+ if (result < 0) {
+ if (strcmp(file->name, "-") == 0)
+ fatal("%s: This format cannot be used in piped commands!\n", file->module);
+ fatal("%s: online compression not yet supported for this format!", file->module);
+ }
return 0;
}
}
}
+/*
+ * gbftell: (as ftell)
+ */
+
gbsize_t
gbftell(gbfile *file)
{
if (file->gzapi) {
#if !ZLIB_INHIBITED
- return gztell(file->handle.gz);
+ gbsize_t result = gztell(file->handle.gz);
+ if (file->back != -1) {
+ file->back = -1;
+ result--;
+ }
+ return result;
#else
fatal(NO_ZLIB);
return -1;
}
}
+/*
+ * gbfeof: (as feof)
+ */
+
int
gbfeof(gbfile *file)
{
if (file->gzapi) {
#if !ZLIB_INHIBITED
- return gzeof(file->handle.gz);
+ int res;
+
+ if (file->back != -1) return 0;
+
+ res = gzeof(file->handle.gz);
+ if (!res) {
+ signed char test;
+ int len = gzread(file->handle.gz, &test, 1);
+ if (len == 1) {
+ /* No EOF, put the single byte back into stream */
+ file->back = test;
+ }
+ else {
+ /* we are at the end of the file */
+ if (global_opts.debug_level > 0) {
+ /* now gzeof() should return 1 */
+ is_fatal(!gzeof(file->handle.gz), "zlib gzeof error!\n");
+ }
+ res = 1;
+ }
+ }
+ return res;
#else
fatal(NO_ZLIB);
return 0;
}
}
+/*
+ * gbfungetc: (as fungetc)
+ */
+
int
gbfungetc(const int c, gbfile *file)
{
int r = -1;
if (file->gzapi) {
#if !ZLIB_INHIBITED
- r = gzungetc(c, file->handle.gz);
+ file->back = -1;
#else
fatal(NO_ZLIB);
#endif
/* GPSBabel 'file' enhancements */
+/*
+ * gbfgetint32: read a signed 32-bit integer from input stream
+ */
+
gbint32
gbfgetint32(gbfile *file)
{
char buf[4];
- gbfread(buf, 1, sizeof(buf), file);
-
+ gbfread(&buf, 1, sizeof(buf), file);
+
if (file->big_endian)
return be_read32(buf);
else
return le_read32(buf);
}
+/*
+ * gbfgetint16: read a signed 16-bit integer from input stream
+ */
+
gbint16
gbfgetint16(gbfile *file)
{
char buf[2];
- gbfread(buf, 1, sizeof(buf), file);
+ gbfread(&buf, 1, sizeof(buf), file);
if (file->big_endian)
return be_read16(buf);
return le_read16(buf);
}
+/*
+ * gbfgetdbl: read a double value (8 byte, double precision) from input stream
+ */
+
double
gbfgetdbl(gbfile *file)
{
char buf[8];
- gbfread(buf, 1, sizeof(buf), file);
- return le_read_double(buf);
+
+ gbfread(&buf, 1, sizeof(buf), file);
+
+ return endian_read_double(buf, ! file->big_endian);
}
+/*
+ * gbfgetflt: read a float value (4 byte, single precision) from input stream
+ */
+
float
gbfgetflt(gbfile *file)
{
- union {
- float f;
- gbint32 i;
- } x;
+ char buf[4];
- x.i = gbfgetint32(file);
- return x.f;
+ gbfread(&buf, 1, sizeof(buf), file);
+
+ return endian_read_float(buf, ! file->big_endian);
}
/*
* gbfgetcstr: Reads a string from file until either a '\0' or eof.
* The result is a temporary allocated entity: use it or free it!
*/
+
char *
gbfgetcstr(gbfile *file)
{
- int len, size;
char *result;
+ int len = 0;
+ char *str = file->buff;
- len = size = 0;
- result = xstrdup("");
-
- while (1) {
+ for (;;) {
char c = gbfgetc(file);
if ((c == 0) || (c == EOF)) break;
- if (len == size) {
- size += 32;
- result = xrealloc(result, size + 1);
+ if (len == file->buffsz) {
+ file->buffsz += 64;
+ str = file->buff = xrealloc(file->buff, file->buffsz + 1);
}
- result[len] = c;
+ str[len] = c;
len++;
}
- if ((len + 1) != size)
- result = xrealloc(result, len + 1);
+ result = (char *) xmalloc(len + 1);
+ if (len > 0)
+ memcpy(result, str, len);
+ result[len] = '\0';
return result;
}
* gbfgetpstr: Reads a pascal string (first byte is length) from file.
* The result is a temporary allocated entity: use it or free it!
*/
+
char *
gbfgetpstr(gbfile *file)
{
len = gbfgetc(file);
result = xmalloc(len + 1);
-
- if (len > 0)
+ if (len > 0) {
gbfread(result, 1, len, file);
+ }
result[len] = '\0';
return result;
* gbfgetstr: Reads a string from file (util any type of line-breaks or eof or error)
* except xfree and free you can do all possible things with the result
*/
+
char *
gbfgetstr(gbfile *file)
{
- int len;
+ int len = 0;
char *result = file->line;
- len = file->linesz = 0;
-
- while (1) {
+ for (;;) {
char c = gbfgetc(file);
if ((c == EOF) || (c == 0x1A)) {
}
else if (c == '\r') {
c = gbfgetc(file);
- if ((c != '\n') && (c != EOF)) gbfungetc(c, file);
+ if ((c != '\n') && (c != EOF))
+ gbfungetc(c, file);
break;
}
else if (c == '\n') {
break;
}
if (len == file->linesz) {
- file->linesz = len + 128;
- result = file->line = xrealloc(file->line, len + 128 + 1);
+ file->linesz += 64;
+ result = file->line = xrealloc(file->line, file->linesz + 1);
}
result[len] = c;
len++;
}
- result[len] = '\0'; // terminate resulting string
+ result[len] = '\0'; // terminate resulting string
return result;
}
+/*
+ * gbfputint16: write a signed 16-bit integer value into output stream
+ */
+
int
gbfputint16(const gbint16 i, gbfile *file)
{
return gbfwrite(buf, 1, sizeof(buf), file);
}
+/*
+ * gbfputint32: write a signed 32-bit integer value into output stream
+ */
+
int
gbfputint32(const gbint32 i, gbfile *file)
{
return gbfwrite(buf, 1, sizeof(buf), file);
}
+/*
+ * gbfputdbl: write a double value (8 byte, double precision) into output stream
+ */
+
int
gbfputdbl(const double d, gbfile *file)
{
char buf[8];
- le_write_double(buf, d );
+
+ endian_write_double(buf, d, ! file->big_endian);
return gbfwrite(buf, 1, sizeof(buf), file);
}
+/*
+ * gbfputflt: write a float value (4 byte, single precision) into output stream
+ */
+
int
gbfputflt(const float f, gbfile *file)
{
- union {
- float f;
- gbint32 i; } x;
-
- x.f = f;
- return gbfputint32(x.i, file);
+ char buf[4];
+
+ endian_write_float(buf, f, ! file->big_endian);
+ return gbfwrite(buf, 1, sizeof(buf), file);
}
+/*
+ * gbfputcstr: write a NULL terminated string into a stream (!) including NULL
+ * return the number of written characters
+ */
+
int
gbfputcstr(const char *s, gbfile *file)
{
- return gbfwrite(s, 1, strlen(s) + 1, file);
+ int len;
+
+ len = (s == NULL) ? 0 : strlen(s);
+ if (len > 0) {
+ return gbfwrite(s, 1, len + 1, file);
+ } else {
+ gbfputc(0, file);
+ return 1;
+ }
}
+/*
+ * gbfputcstr: write a pascal string into a stream
+ * return the number of written characters
+ */
+
int
gbfputpstr(const char *s, gbfile *file)
{
int len;
- len = strlen(s);
- if (len > 255)
- len = 255;
+ len = (s == NULL) ? 0 : strlen(s);
+ if (len > 255) len = 255; /* the maximum size of a standard pascal string */
gbfputc(len, file);
- gbfwrite(s, 1, len, file);
-
- return len + 1;
+ if (len > 0) {
+ gbfwrite(s, 1, len, file);
+ }
+ return (len + 1);
}
-/* Thats all, sorry */
+/* Thats all, sorry. */
char *buff; /* static growing buffer, primary used by gbprintf */
int buffsz;
char mode;
+ int back;
unsigned char big_endian:1;
unsigned char binary:1;
unsigned char gzapi:1;
float gbfgetflt(gbfile *file); // read a float value
char *gbfgetstr(gbfile *file); // read until any type of line-breaks or EOF
char *gbfgetpstr(gbfile *file); // read a pascal string
+char *gbfgetcstr(gbfile *file); // read a null terminated string
int gbfputint16(const gbint16 i, gbfile *file);
#define gbfputuint16(a,b) gbfputint16((gbuint16)(a),(b))
case 4800: return B4800;
case 9600: return B9600;
case 19200: return B19200;
+ case 38400: return B38400;
#if defined B57600
case 57600: return B57600;
#endif
case 4800: return CBR_4800;
case 9600: return CBR_9600;
case 19200: return CBR_19200;
+ case 38400: return CBR_38400;
case 57600: return CBR_57600;
case 115200: return CBR_115200;
default:
#endif /* defined(_MSC_VER) */
typedef gbuint32 gbsize_t;
+typedef unsigned char gbuint8;
+typedef signed char gbint8;
#endif /* gb_types_h_included */
--- /dev/null
+/*
+ * gbversion.h is generated from gbversion.h.in which uses autoconf voodoo
+ * to get the version number from configure.in.
+ *
+ * Isn't simplification via automation grand?
+ */
+#define VERSION "1.3.3"
+
--- /dev/null
+/*
+ * gbversion.h is generated from gbversion.h.in which uses autoconf voodoo
+ * to get the version number from configure.in.
+ *
+ * Isn't simplification via automation grand?
+ */
+#define VERSION "@GBMAJOR@.@GBMINOR@.@GBMICRO@@PACKAGE_RELEASE@"
+
/*
Garmin GPS Database Reader/Writer
- Copyright (C) 2005,2006 Olaf Klein, o.b.klein@gpsbabel.org
+ Copyright (C) 2005-2007 Olaf Klein, o.b.klein@gpsbabel.org
Mainly based on mapsource.c,
Copyright (C) 2005 Robert Lipe, robertlipe@usa.net
2006/04/19: add url i/o to tracks and routes
2006/04/19: check for empty waypoint shortnames (paranioa)
2006/11/01: Use version of GPSBabel and date/time of gdb.c (managed by CVS) for watermark
+ 2007/01/23: add support for GDB version 3
+ 2007/02/07: Add special code for unknown bytes in waypoints with class GE 8 (calculated points)
*/
#include <stdio.h>
#include "garmin_tables.h"
#include "jeeps/gpsmath.h"
#include "garmin_fs.h"
+#include "cet_util.h"
#define MYNAME "gdb"
/* %%% local vars %%% */
-/* static char gdb_release[] = "$Revision: 1.43 $"; */
-static char gdb_release_date[] = "$Date: 2006/11/01 22:23:39 $";
+/* static char gdb_release[] = "$Revision: 1.48 $"; */
+static char gdb_release_date[] = "$Date: 2007/02/20 20:51:15 $";
static FILE *fin, *fout;
static char *fin_name, *fout_name;
case 'l':
gdb_ver = 2;
break;
+ case 'm':
+ gdb_ver = 3;
+ break;
default:
fatal(MYNAME ": Non supported GDB version!\n");
}
GMSD_SET(depth, xdepth);
}
- gdb_fread(buff, 1);
- gdb_fread(buff, 1);
-
- if (gdb_fread_flag(0))
- gdb_fread(buff, 3);
- else
+ if (gdb_ver >= 3) {
+ int url_ct, unkn;
+ char *url = NULL;
+
+ unkn = gdb_fread_le(&unkn, sizeof(unkn), 32, prefix, "unknown dword(x) since v3");
gdb_fread(buff, 2);
-
- do /* undocumented & unused string */
- {
- gdb_fread(buff, 1);
+
+ gdb_fread_str(xurl, sizeof(xurl)); /* what dagmar will say */
+
+ url_ct = gdb_fread_le(&url_ct, sizeof(url_ct), 32, prefix, "number of urls (since v3)");
+ gdb_is_valid((url_ct >= 0), prefix, "Number of urls (since v3)");
+
+ while (url_ct > 0) {
+ url_ct--;
+ gdb_fread_str(xurl, sizeof(xurl)); /* URL list */
+ if ((url == NULL) && (xurl[0] != '\0'))
+ url = xstrdup(xurl); /* keep only the first valid entry */
+ }
+ if (url != NULL) {
+ strncpy(xurl, url, sizeof(xurl));
+ xfree(url);
+ }
}
- while (buff[0] != 0);
+ else { /* gdb_ver <= 2 */
+ gdb_fread(buff, 2);
- gdb_fread_str(xurl, sizeof(xurl)); /* URL */
+ if (gdb_fread_flag(0))
+ gdb_fread(buff, 3);
+ else
+ gdb_fread(buff, 2);
+
+ do /* undocumented & unused string */
+ {
+ gdb_fread(buff, 1);
+ }
+ while (buff[0] != 0);
+
+ gdb_fread_str(xurl, sizeof(xurl)); /* URL */
+ }
xcat = gdb_fread_le(&xcat, sizeof(xcat), 16, prefix, "category");
if (xcat != 0) GMSD_SET(category, xcat);
GMSD_SET(temperature, xtemp);
}
- /* Here comes 1 .. 6 unknown bytes
- !!! 6 only if class > 0 !!!
- the field seems to be a time stamp */
-
pos = ftell(fin);
delta = fileofs - pos;
- gdb_is_valid(delta > 0, prefix, "waypoint final");
-
- if ((delta & 1) == 0)
- {
- gdb_fread(buff, 1);
+ gdb_is_valid((delta > 0), prefix, "waypoint final");
+
+ if (gdb_ver >= 3) {
delta--;
+ if (gdb_fread_flag(1)) {
+ gdb_is_valid((delta >= 4), prefix, "No waypoint time (v3++)");
+ gdb_fread_le(&xtime, sizeof(xtime), 32, prefix, "time");
+ gdb_is_valid((xtime > 0), prefix, "Invalid time (v3++)");
+ delta-=sizeof(xtime);
+ }
+ else
+ xtime = 0;
+ if (delta > 0) { /* skip over trailing unknown bytes */
+ gdb_is_valid((delta <= sizeof(buff)), prefix, "Waypoint structure V3");
+ gdb_fread(buff, delta);
+ }
}
-
- xtime = 0;
- if (gdb_fread_flag(1))
- {
- gdb_is_valid((delta == 5), prefix, "Waypoint time");
- gdb_fread_le(&xtime, sizeof(xtime), 32, prefix, "time");
+ else { /* gdb_ver <= 2 */
+
+ /* Here comes 1 .. 6 unknown bytes
+ !!! 6 only if class > 0 !!!
+ the field seems to be a time stamp */
+
+ if ((delta & 1) == 0) {
+ delta--;
+ gdb_fread(buff, 1);
+ if (buff[0] != '\0')
+ warning(MYNAME ": Invalid byte (0x%02x) at EOW'.\n", (unsigned char)buff[0]);
+ }
+
+ xtime = 0;
+
+ delta--;
+ if (gdb_fread_flag(1)) {
+ gdb_is_valid((delta == 4), prefix, "Waypoint time");
+ gdb_fread_le(&xtime, sizeof(xtime), 32, prefix, "time");
+ }
+ else if (delta > 0) {
+ gdb_is_valid((delta <= sizeof(buff)), prefix, "Waypoint structure");
+ gdb_fread(buff, delta);
+ if (xclass < gt_waypt_class_map_point) {
+ warning(MYNAME ": Unhandled EOW. Please report!\n");
+ fatal(MYNAME ": [class is 0x%02xh, %d bytes left, gdb version %d]\n",
+ xclass, (int)delta, gdb_ver);
+ }
+ }
}
- else
- gdb_is_valid(delta==1, prefix, "No waypoint time");
*wptclass = xclass;
#ifdef GDB_DEBUG
gdb_print_buff(buff, 8, "Unknown bytes within rte_reed_loop");
#endif
+ if (gdb_ver >= 3)
+ gdb_fread(buff, 8); /* a second block of unknown bytes */
}
/* The next thing is the unknown 0x03 0x00 .. 0x00 (18 bytes) */
gdb_fread(buff, 1);
gdb_is_valid((buff[0] == 1), prefix3, "last seq.(1)");
- if (gdb_ver > 1)
+ if (gdb_ver >= 2)
gdb_fread(buff, 8); /* Unknown 8 bytes since gdb v2 */
gdb_fread_str(xname, sizeof(xname));
- if (buff[0] != 0)
+ if (xname[0] != 0)
route->rte_url = xstrdup(xname);
+ if (gdb_ver >= 3) {
+
+ int url_ct, unkn;
+
+ gdb_fread(buff, 1); /* Unknown byte since gdb v3 */
+ gdb_fread_le(&url_ct, sizeof(url_ct), 32, prefix3, "number of urls (since v3)");
+ while (url_ct > 0) {
+ url_ct--;
+ gdb_fread_str(xname, sizeof(xname));
+ if (route->rte_url == NULL)
+ route->rte_url = xstrdup(xname);
+ }
+ gdb_fread_le(&unkn, sizeof(unkn), 32, prefix3, "unknown dword (since v3)");
+ gdb_fread(buff, 1); /* Unknown byte since gdb v3 */
+ gdb_fread_str(xname, sizeof(xname)); /* multi-line notes */
+ if (xname[0] != '\0')
+ route->rte_desc = xstrdup(xname);
+ }
wpt = gdb_create_rte_wpt(xwptname, xlat, xlon, xalt);
if (wpt != NULL)
route_add_wpt(route, wpt);
if (gdb_fread_flag(1)) /* link min alt validity + alt */
gdb_fread(buff, 2 * sizeof(int));
- if (gdb_ver > 1)
+ if (gdb_ver >= 2)
gdb_fread(buff, 8); /* unknown 8 bytes since gdb v2 */
+ if (gdb_ver >= 3)
+ gdb_fread(buff, 2); /* unknown 8 bytes since gdb v3 */
}
/* This should normally never happen; end of route is handled in main loop before this */
wpt->latitude = GPS_Math_Semi_To_Deg(xlat);
wpt->longitude = GPS_Math_Semi_To_Deg(xlon);
wpt->creation_time = xtime;
- wpt->centiseconds = 0;
+ wpt->microseconds = 0;
wpt->altitude = xalt;
wpt->depth = xdepth;
track_add_wpt(track, wpt);
}
- gdb_fread_str(xname, sizeof(xname));
- if (xname[0] != '\0')
+ if (gdb_ver >= 3) {
+ int url_ct;
+
+ gdb_fread_le(&url_ct, sizeof(url_ct), 32, prefix, "number of urls (since v3)");
+ while (url_ct > 0) {
+ url_ct--;
+ gdb_fread_str(xname, sizeof(xname));
+ if ((track->rte_url == NULL) && (xname[0] != '\0'))
+ track->rte_url = xstrdup(xname);
+ }
+ } else {
+ gdb_fread_str(xname, sizeof(xname));
+ if (xname[0] != '\0')
track->rte_url = xstrdup(xname);
+ }
return track;
}
if ((warnings & 1) == 0)
{
warnings |= 1;
- warning(MYNAME "-%s: At least one incomplete waypoint read (%d byte(s) left).\n", prefix, delta);
+ warning(MYNAME "-%s: At least one incomplete waypoint (gdb v%d, %d byte(s) left).\n", prefix, gdb_ver, delta);
}
fseek(fin, curpos + reclen, SEEK_SET);
}
if ((delta != reclen) && ((warnings & flag) == 0))
{
warnings |= flag;
- warning(MYNAME "-%s: At least one incomplete %s (gdb v%d.0, %d byte(s) left).\n",
+ warning(MYNAME "-%s: At least one incomplete %s (gdb v%d, %d byte(s) left).\n",
prefix, (typ == 'R') ? "route" : "track", gdb_ver, delta);
}
fseek(fin, curpos + reclen, SEEK_SET);
case 'D': break;
case 'L': break;
case 'W': break;
- default: warning(MYNAME "-%s: Found unknown record type \"%c\"!\n", prefix, typ);
+ default: warning(MYNAME "-%s: Found unknown record type \"%c\" (gdb v%d)!\n", prefix, typ, gdb_ver);
}
fseek(fin, curpos + reclen, SEEK_SET);
}
gdb_fwrite_alt(GMSD_GET(temperature, 0), 0); /* temperature */
- if (wpt->creation_time != 0) /* creation time */
+ if (wpt->creation_time > 0) /* creation time */
{
gdb_fwrite(&c1, 1);
gdb_fwrite_int(wpt->creation_time);
gdb_fwrite_int(GPS_Math_Deg_To_Semi(minlon));
gdb_fwrite_alt(minalt, -unknown_alt);
- if (gdb_ver > 1)
+ if (gdb_ver >= 2)
gdb_fwrite(ffbuff, 8);
}
gdb_fwrite_int(0); /* Zero interlink steps */
gdb_fwrite(&c1, 1);
- if (gdb_ver > 1)
+ if (gdb_ver >= 2)
gdb_fwrite(ffbuff, 8);
gdb_fwrite_str(route->rte_url, -1);
gdb_fwrite_alt(wpt->altitude, unknown_alt); /* altitude */
- if (wpt->creation_time != 0) /* creation time */
+ if (wpt->creation_time > 0) /* creation time */
{
gdb_fwrite(&c1, 1);
gdb_fwrite_int(wpt->creation_time);
fin_name = xstrdup(fname);
fin = xfopen(fname, "rb", MYNAME);
+ gdb_read_file_header();
+
+ if (gdb_ver >= 3) cet_convert_init(CET_CHARSET_UTF8, 1);
}
static void
static void
gdb_read(void)
{
- gdb_read_file_header();
gdb_read_data();
}
gdb_write,
NULL,
gdb_args,
- CET_CHARSET_MS_ANSI, 1 /* CET-REVIEW */
+ CET_CHARSET_MS_ANSI, 0 /* O.K.: changed to NON-FIXED */
+ /* because of utf8 strings since GDB V3 */
};
/*******************************************************************************/
static waypoint *wpt_tmp;
-static FILE *ofd;
+static gbfile *ofd;
static
arglist_t geo_args[] = {
void wpt_s(const char *args, const char **unused)
{
-// wpt_tmp = waypt_new();
- wpt_tmp = xcalloc(sizeof(*wpt_tmp), 1);
+ wpt_tmp = waypt_new();
+ /*
+ * 'geo' doesn't really have an 'unknown' and doesn't have any
+ * concept of alt. Unfortunately, we have many reference files
+ * that have leaked the 'unknown_alt' value into them, so we paper
+ * over that here.
+ */
+ wpt_tmp->altitude = 0;
}
void wpt_e(const char *args, const char **unused)
static void
geo_wr_init(const char *fname)
{
- ofd = xfopen(fname, "w", MYNAME);
+ ofd = gbfopen(fname, "w", MYNAME);
}
static void
geo_wr_deinit(void)
{
- fclose(ofd);
+ gbfclose(ofd);
}
static void
{
char *tmp;
- fprintf(ofd, "<waypoint>\n");
- fprintf(ofd, "<name id=\"%s\">", waypointp->shortname);
- fprintf(ofd, "<![CDATA[%s]]>", waypointp->description);
- fprintf(ofd, "</name>\n");
+ gbfprintf(ofd, "<waypoint>\n");
+ gbfprintf(ofd, "<name id=\"%s\">", waypointp->shortname);
+ gbfprintf(ofd, "<![CDATA[%s]]>", waypointp->description);
+ gbfprintf(ofd, "</name>\n");
- fprintf(ofd, "<coord lat=\"%lf\" lon=\"%lf\"/>",
+ gbfprintf(ofd, "<coord lat=\"%lf\" lon=\"%lf\"/>",
waypointp->latitude,
waypointp->longitude);
- fprintf(ofd, "\n");
+ gbfprintf(ofd, "\n");
if (waypointp->icon_descr) {
- fprintf(ofd, "<type>%s</type>\n", deficon ? deficon : waypointp->icon_descr);
+ gbfprintf(ofd, "<type>%s</type>\n", deficon ? deficon : waypointp->icon_descr);
}
if (waypointp->url) {
tmp = xml_entitize(waypointp->url);
- fprintf(ofd, "<link text =\"Cache Details\">%s</link>\n",
+ gbfprintf(ofd, "<link text =\"Cache Details\">%s</link>\n",
tmp);
xfree(tmp);
}
- fprintf(ofd, "</waypoint>\n");
+ gbfprintf(ofd, "</waypoint>\n");
}
static void
geo_write(void)
{
- fprintf(ofd, "<?xml version=\"1.0\"?><loc version=\"1.0\" src=\"EasyGPS\">\n");
+ gbfprintf(ofd, "<?xml version=\"1.0\"?><loc version=\"1.0\" src=\"EasyGPS\">\n");
waypt_disp_all(geo_waypt_pr);
- fprintf(ofd, "</loc>\n");
+ gbfprintf(ofd, "</loc>\n");
}
ff_vecs_t geo_vecs = {
#include "defs.h"
+#include "gbversion.h"
global_options global_opts;
const char gpsbabel_version[] = VERSION;
/*
Access Garmin Logbook (Forerunner/Foretracker) data files.
- Copyright (C) 2004 Robert Lipe, robertlipe@usa.net
+ Copyright (C) 2004, 2005, 2006, 2007 Robert Lipe, robertlipe@gpsbabel.org
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "defs.h"
#include "xmlgeneric.h"
-static FILE *ofd;
+static gbfile *ofd;
static waypoint *wpt_tmp;
static route_head *trk_head;
static void
glogbook_wr_init(const char *fname)
{
- ofd = xfopen(fname, "w", MYNAME);
+ ofd = gbfopen(fname, "w", MYNAME);
}
static void
glogbook_wr_deinit(void)
{
- fclose(ofd);
+ gbfclose(ofd);
}
static void
glogbook_waypt_pr(const waypoint *wpt)
{
- fprintf(ofd, " <Trackpoint>\n");
- fprintf(ofd, " <Position>\n");
- fprintf(ofd, " <Latitude>%.5f</Latitude>\n", wpt->latitude);
- fprintf(ofd, " <Longitude>%.5f</Longitude>\n", wpt->longitude);
+ gbfprintf(ofd, " <Trackpoint>\n");
+ gbfprintf(ofd, " <Position>\n");
+ gbfprintf(ofd, " <Latitude>%.5f</Latitude>\n", wpt->latitude);
+ gbfprintf(ofd, " <Longitude>%.5f</Longitude>\n", wpt->longitude);
if (wpt->altitude != unknown_alt) {
- fprintf(ofd, " <Altitude>%.3f</Altitude>\n", wpt->altitude);
+ gbfprintf(ofd, " <Altitude>%.3f</Altitude>\n", wpt->altitude);
}
- fprintf(ofd, " </Position>\n");
- fprintf(ofd, " ");
- xml_write_time(ofd, wpt->creation_time, "Time");
- fprintf(ofd, " </Trackpoint>\n");
+ gbfprintf(ofd, " </Position>\n");
+ gbfprintf(ofd, " ");
+ xml_write_time(ofd, wpt->creation_time, wpt->microseconds, "Time");
+ gbfprintf(ofd, " </Trackpoint>\n");
}
static void
glogbook_hdr( const route_head *rte)
{
- fprintf(ofd, " <Track>\n");
+ gbfprintf(ofd, " <Track>\n");
}
static void
glogbook_ftr(const route_head *rte)
{
- fprintf(ofd, " </Track>\n");
+ gbfprintf(ofd, " </Track>\n");
}
static void
glogbook_write(void)
{
- fprintf(ofd, "<?xml version=\"1.0\" ?>\n");
- fprintf(ofd, "<History xmlns=\"http://www.garmin.com/xmlschemas/ForerunnerLogbook\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.garmin.com/xmlschemas/ForerunnerLogbook http://www.garmin.com/xmlschemas/ForerunnerLogbookv1.xsd\" version=\"1\">\n");
- fprintf(ofd, " <Run>\n");
+ gbfprintf(ofd, "<?xml version=\"1.0\" ?>\n");
+ gbfprintf(ofd, "<History xmlns=\"http://www.garmin.com/xmlschemas/ForerunnerLogbook\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.garmin.com/xmlschemas/ForerunnerLogbook http://www.garmin.com/xmlschemas/ForerunnerLogbookv1.xsd\" version=\"1\">\n");
+ gbfprintf(ofd, " <Run>\n");
track_disp_all(glogbook_hdr, glogbook_ftr, glogbook_waypt_pr);
- fprintf(ofd, " </Run>\n");
- fprintf(ofd, "</History>\n");
+ gbfprintf(ofd, " </Run>\n");
+ gbfprintf(ofd, "</History>\n");
}
void gl_trk_s(const char *args, const char **unused)
void gl_trk_utc(const char *args, const char **unused)
{
- wpt_tmp->creation_time = xml_parse_time(args);
+ wpt_tmp->creation_time = xml_parse_time(args, &wpt_tmp->microseconds);
}
void gl_trk_lat(const char *args, const char **unused)
}
}
xfree( script );
+ script = NULL;
+ }
+
+ /*
+ * 'Tis better to leak than crash when we are merging and
+ * don't see an 'end' in the first file. This feels a bit
+ * like plastering over a deeper problem...
+ *
+ */
+ if ( encoded_points ) {
+ encoded_points = NULL;
+ }
+ if ( encoded_levels ) {
+ encoded_levels = NULL;
}
}
#endif
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>GPSBabel Documentation</title><link rel="stylesheet" href="http://www.gpsbabel.org/style3.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.69.1" /></head><body><div class="book" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="GPSBabel_Documentation_Book"></a>GPSBabel Documentation</h1></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="#Introduction">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="#The_Problem">The Problem</a></span></dt><dt><span class="section"><a href="#The_Solution">The Solution</a></span></dt></dl></dd><dt><span class="chapter"><a href="#Getting_and_Building">1. Getting it and Building it</a></span></dt><dt><span class="chapter"><a href="#Usage">2. Usage</a></span></dt><dd><dl><dt><span class="sect1"><a href="#Invocation">Invocation</a></span></dt><dt><span class="sect1"><a href="#Advanced_Usage">Advanced Usage</a></span></dt><dt><span class="sect1"><a href="#Route_And_Track_Modes">Route and Track Modes</a></span></dt><dt><span class="sect1"><a href="#inifile">Working with predefined options</a></span></dt><dt><span class="sect1"><a href="#tracking">Realtime tracking</a></span></dt><dt><span class="sect1"><a href="#batchfile">Batch mode (command files)</a></span></dt></dl></dd><dt><span class="chapter"><a href="#The_Formats">3. The Formats</a></span></dt><dd><dl><dt><span class="section"><a href="#fmt_xcsv">? Character Separated Values (xcsv)</a></span></dt><dt><span class="section"><a href="#fmt_tabsep">All database fields on one tab-separated line (tabsep)</a></span></dt><dt><span class="section"><a href="#fmt_baroiq">Brauniger IQ Series Barograph Download (baroiq)</a></span></dt><dt><span class="section"><a href="#fmt_cambridge">Cambridge/Winpilot glider software (cambridge)</a></span></dt><dt><span class="section"><a href="#fmt_cst">CarteSurTable data file (cst)</a></span></dt><dt><span class="section"><a href="#fmt_cetus">Cetus for Palm/OS (cetus)</a></span></dt><dt><span class="section"><a href="#fmt_coastexp">CoastalExplorer XML (coastexp)</a></span></dt><dt><span class="section"><a href="#fmt_csv">Comma separated values (csv)</a></span></dt><dt><span class="section"><a href="#fmt_compegps">CompeGPS data files (.wpt/.trk/.rte) (compegps)</a></span></dt><dt><span class="section"><a href="#fmt_copilot">CoPilot Flight Planner for Palm/OS (copilot)</a></span></dt><dt><span class="section"><a href="#fmt_coto">cotoGPS for Palm/OS (coto)</a></span></dt><dt><span class="section"><a href="#fmt_custom">Custom "Everything" Style (custom)</a></span></dt><dt><span class="section"><a href="#fmt_axim_gpb">Dell Axim Navigation System (.gpb) file format (axim_gpb)</a></span></dt><dt><span class="section"><a href="#fmt_an1">DeLorme .an1 (drawing) file (an1)</a></span></dt><dt><span class="section"><a href="#fmt_gpl">DeLorme GPL (gpl)</a></span></dt><dt><span class="section"><a href="#fmt_saplus">DeLorme Street Atlas Plus (saplus)</a></span></dt><dt><span class="section"><a href="#fmt_saroute">DeLorme Street Atlas Route (saroute)</a></span></dt><dt><span class="section"><a href="#fmt_xmap">DeLorme XMap HH Native .WPT (xmap)</a></span></dt><dt><span class="section"><a href="#fmt_xmap2006">DeLorme XMap/SAHH 2006 Native .TXT (xmap2006)</a></span></dt><dt><span class="section"><a href="#fmt_xmapwpt">DeLorme XMat HH Street Atlas USA .WPT (PPC) (xmapwpt)</a></span></dt><dt><span class="section"><a href="#fmt_easygps">EasyGPS binary format (easygps)</a></span></dt><dt><span class="section"><a href="#fmt_igc">FAI/IGC Flight Recorder Data Format (igc)</a></span></dt><dt><span class="section"><a href="#fmt_gpssim">Franson GPSGate Simulation (gpssim)</a></span></dt><dt><span class="section"><a href="#fmt_fugawi">Fugawi (fugawi)</a></span></dt><dt><span class="section"><a href="#fmt_garmin301">Garmin 301 Custom position and heartrate (garmin301)</a></span></dt><dt><span class="section"><a href="#fmt_glogbook">Garmin Logbook XML (glogbook)</a></span></dt><dt><span class="section"><a href="#fmt_gdb">Garmin MapSource - gdb (gdb)</a></span></dt><dt><span class="section"><a href="#fmt_mapsource">Garmin MapSource - mps (mapsource)</a></span></dt><dt><span class="section"><a href="#fmt_garmin_txt">Garmin MapSource - txt (tab delimited) (garmin_txt)</a></span></dt><dt><span class="section"><a href="#fmt_pcx">Garmin PCX5 (pcx)</a></span></dt><dt><span class="section"><a href="#fmt_garmin_poi">Garmin POI database (garmin_poi)</a></span></dt><dt><span class="section"><a href="#fmt_garmin">Garmin serial/USB protocol (garmin)</a></span></dt><dt><span class="section"><a href="#fmt_gtrnctr">Garmin Training Centerxml (gtrnctr)</a></span></dt><dt><span class="section"><a href="#fmt_geo">Geocaching.com .loc (geo)</a></span></dt><dt><span class="section"><a href="#fmt_gcdb">GeocachingDB for Palm/OS (gcdb)</a></span></dt><dt><span class="section"><a href="#fmt_geonet">GEOnet Names Server (GNS) (geonet)</a></span></dt><dt><span class="section"><a href="#fmt_geoniche">GeoNiche .pdb (geoniche)</a></span></dt><dt><span class="section"><a href="#fmt_kml">Google Earth (Keyhole) Markup Language (kml)</a></span></dt><dt><span class="section"><a href="#fmt_google">Google Maps XML (google)</a></span></dt><dt><span class="section"><a href="#fmt_gpilots">GpilotS (gpilots)</a></span></dt><dt><span class="section"><a href="#fmt_gtm">GPS TrackMaker (gtm)</a></span></dt><dt><span class="section"><a href="#fmt_arc">GPSBabel arc filter file (arc)</a></span></dt><dt><span class="section"><a href="#fmt_gpsdrive">GpsDrive Format (gpsdrive)</a></span></dt><dt><span class="section"><a href="#fmt_gpsdrivetrack">GpsDrive Format for Tracks (gpsdrivetrack)</a></span></dt><dt><span class="section"><a href="#fmt_gpsman">GPSman (gpsman)</a></span></dt><dt><span class="section"><a href="#fmt_gpspilot">GPSPilot Tracker for Palm/OS (gpspilot)</a></span></dt><dt><span class="section"><a href="#fmt_gpsutil">gpsutil (gpsutil)</a></span></dt><dt><span class="section"><a href="#fmt_gpx">GPX XML (gpx)</a></span></dt><dt><span class="section"><a href="#fmt_hiketech">HikeTech (hiketech)</a></span></dt><dt><span class="section"><a href="#fmt_holux">Holux (gm-100) .wpo Format (holux)</a></span></dt><dt><span class="section"><a href="#fmt_hsandv">HSA Endeavour Navigator export File (hsandv)</a></span></dt><dt><span class="section"><a href="#fmt_html">HTML Output (html)</a></span></dt><dt><span class="section"><a href="#fmt_ignrando">IGN Rando track files (ignrando)</a></span></dt><dt><span class="section"><a href="#fmt_ktf2">Kartex 5 Track File (ktf2)</a></span></dt><dt><span class="section"><a href="#fmt_kwf2">Kartex 5 Waypoint File (kwf2)</a></span></dt><dt><span class="section"><a href="#fmt_psitrex">KuDaTa PsiTrex text (psitrex)</a></span></dt><dt><span class="section"><a href="#fmt_lowranceusr">Lowrance USR (lowranceusr)</a></span></dt><dt><span class="section"><a href="#fmt_maggeo">Magellan Explorist Geocaching (maggeo)</a></span></dt><dt><span class="section"><a href="#fmt_mapsend">Magellan Mapsend (mapsend)</a></span></dt><dt><span class="section"><a href="#fmt_magnav">Magellan NAV Companion for Palm/OS (magnav)</a></span></dt><dt><span class="section"><a href="#fmt_magellanx">Magellan SD files (as for eXplorist) (magellanx)</a></span></dt><dt><span class="section"><a href="#fmt_magellan">Magellan SD files (as for Meridian) (magellan)</a></span></dt><dt><span class="section"><a href="#fmt_magellan1">Magellan serial protocol (magellan)</a></span></dt><dt><span class="section"><a href="#fmt_tef">Map&Guide 'TourExchangeFormat' XML (tef)</a></span></dt><dt><span class="section"><a href="#fmt_mag_pdb">Map&Guide to Palm/OS exported files (.pdb) (mag_pdb)</a></span></dt><dt><span class="section"><a href="#fmt_mapconverter">Mapopolis.com Mapconverter CSV (mapconverter)</a></span></dt><dt><span class="section"><a href="#fmt_mxf">MapTech Exchange Format (mxf)</a></span></dt><dt><span class="section"><a href="#fmt_msroute">Microsoft AutoRoute 2002 (pin/route reader) (msroute)</a></span></dt><dt><span class="section"><a href="#fmt_msroute1">Microsoft Streets and Trips (pin/route reader) (msroute)</a></span></dt><dt><span class="section"><a href="#fmt_s_and_t">Microsoft Streets and Trips 2002-2006 (s_and_t)</a></span></dt><dt><span class="section"><a href="#fmt_bcr">Motorrad Routenplaner (Map&Guide) .bcr files (bcr)</a></span></dt><dt><span class="section"><a href="#fmt_psp">MS PocketStreets 2002 Pushpin (psp)</a></span></dt><dt><span class="section"><a href="#fmt_tpg">National Geographic Topo .tpg (waypoints) (tpg)</a></span></dt><dt><span class="section"><a href="#fmt_tpo2">National Geographic Topo 2.x .tpo (tpo2)</a></span></dt><dt><span class="section"><a href="#fmt_tpo3">National Geographic Topo 3.x/4.x .tpo (tpo3)</a></span></dt><dt><span class="section"><a href="#fmt_navicache">Navicache.com XML (navicache)</a></span></dt><dt><span class="section"><a href="#fmt_nmn4">Navigon Mobile Navigator .rte files (nmn4)</a></span></dt><dt><span class="section"><a href="#fmt_dna">Navitrak DNA marker format (dna)</a></span></dt><dt><span class="section"><a href="#fmt_netstumbler">NetStumbler Summary File (text) (netstumbler)</a></span></dt><dt><span class="section"><a href="#fmt_nima">NIMA/GNIS Geographic Names File (nima)</a></span></dt><dt><span class="section"><a href="#fmt_nmea">NMEA 0183 sentences (nmea)</a></span></dt><dt><span class="section"><a href="#fmt_ozi">OziExplorer (ozi)</a></span></dt><dt><span class="section"><a href="#fmt_palmdoc">PalmDoc Output (palmdoc)</a></span></dt><dt><span class="section"><a href="#fmt_pathaway">PathAway Database for Palm/OS (pathaway)</a></span></dt><dt><span class="section"><a href="#fmt_quovadis">Quovadis (quovadis)</a></span></dt><dt><span class="section"><a href="#fmt_cup">See You flight analysis data (cup)</a></span></dt><dt><span class="section"><a href="#fmt_sportsim">Sportsim track files (part of zipped .ssz files) (sportsim)</a></span></dt><dt><span class="section"><a href="#fmt_stmsdf">Suunto Trek Manager (STM) .sdf files (stmsdf)</a></span></dt><dt><span class="section"><a href="#fmt_stmwpp">Suunto Trek Manager (STM) WaypointPlus files (stmwpp)</a></span></dt><dt><span class="section"><a href="#fmt_openoffice">Tab delimited fields useful for OpenOffice, Ploticus etc. (openoffice)</a></span></dt><dt><span class="section"><a href="#fmt_text">Textual Output (text)</a></span></dt><dt><span class="section"><a href="#fmt_tomtom">TomTom POI file (tomtom)</a></span></dt><dt><span class="section"><a href="#fmt_tmpro">TopoMapPro Places File (tmpro)</a></span></dt><dt><span class="section"><a href="#fmt_dmtlog">TrackLogs digital mapping (.trl) (dmtlog)</a></span></dt><dt><span class="section"><a href="#fmt_tiger">U.S. Census Bureau Tiger Mapping Service (tiger)</a></span></dt><dt><span class="section"><a href="#fmt_unicsv">Universal csv with field structure in first line (unicsv)</a></span></dt><dt><span class="section"><a href="#fmt_vcard">Vcard Output (for iPod) (vcard)</a></span></dt><dt><span class="section"><a href="#fmt_vitosmt">Vito Navigator II tracks (vitosmt)</a></span></dt><dt><span class="section"><a href="#fmt_wfff">WiFiFoFum 2.0 for PocketPC XML (wfff)</a></span></dt><dt><span class="section"><a href="#fmt_wbt-bin">Wintec WBT-100/200 Binary file format (wbt-bin)</a></span></dt><dt><span class="section"><a href="#fmt_wbt">Wintec WBT-100/200 GPS Download (wbt)</a></span></dt><dt><span class="section"><a href="#fmt_yahoo">Yahoo Geocode API data (yahoo)</a></span></dt></dl></dd><dt><span class="chapter"><a href="#Data_Filters">4. Data Filters</a></span></dt><dd><dl><dt><span class="section"><a href="#filter_polygon">Include Only Points Inside Polygon (polygon)</a></span></dt><dt><span class="section"><a href="#filter_arc">Include Only Points Within Distance of Arc (arc)</a></span></dt><dt><span class="section"><a href="#filter_radius">Include Only Points Within Radius (radius)</a></span></dt><dt><span class="section"><a href="#filter_interpolate">Interpolate between trackpoints (interpolate)</a></span></dt><dt><span class="section"><a href="#filter_track">Manipulate track lists (track)</a></span></dt><dt><span class="section"><a href="#filter_sort">Rearrange waypoints by resorting (sort)</a></span></dt><dt><span class="section"><a href="#filter_nuketypes">Remove all waypoints, tracks, or routes (nuketypes)</a></span></dt><dt><span class="section"><a href="#filter_duplicate">Remove Duplicates (duplicate)</a></span></dt><dt><span class="section"><a href="#filter_position">Remove Points Within Distance (position)</a></span></dt><dt><span class="section"><a href="#filter_discard">Remove unreliable points with high hdop or vdop (discard)</a></span></dt><dt><span class="section"><a href="#filter_reverse">Reverse stops within routes (reverse)</a></span></dt><dt><span class="section"><a href="#filter_stack">Save and restore waypoint lists (stack)</a></span></dt><dt><span class="section"><a href="#filter_simplify">Simplify routes (simplify)</a></span></dt><dt><span class="section"><a href="#filter_transform">Transformate waypoints into a route, tracks into routes, ... (transform)</a></span></dt></dl></dd><dt><span class="appendix"><a href="#Datums">A. Supported Datums</a></span></dt><dt><span class="appendix"><a href="#GarminIcons">B. Garmin Icons</a></span></dt><dt><span class="appendix"><a href="#Styles">C. GPSBabel XCSV Style Files</a></span></dt><dd><dl><dt><span class="section"><a href="#styles_intro">Introduction</a></span></dt><dt><span class="section"><a href="#style_intro2">Style file overview</a></span></dt><dt><span class="section"><a href="#styles_internal_const">Internal Constants</a></span></dt><dt><span class="section"><a href="#style_global">Global Properties of the File</a></span></dt><dt><span class="section"><a href="#style_behavior">GPSBabel Behavior Directives</a></span></dt><dt><span class="section"><a href="#style_layout">Defining the Layout of the File</a></span></dt><dt><span class="section"><a href="#style_define">Defining Fields Within the File</a></span></dt><dt><span class="section"><a href="#style_examples">Examples</a></span></dt><dt><span class="section"><a href="#style_notes">Miscellaneous Notes</a></span></dt></dl></dd></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>3.1. <a href="#all_garmin_txt_options">Command showing garmin_txt output with all options</a></dt><dt>3.2. <a href="#sample_bcr_command">Sample BCR command with all options</a></dt><dt>3.3. <a href="#wbt-bin-on-macos">Command showing conversion of a Wintec binary file to GPX</a></dt><dt>3.4. <a href="#wbt-on-macos">Command showing WBT-200 download and erase over Bluetooth on Mac OS X</a></dt><dt>4.1. <a href="#example_polygon_filter">Using the polygon filter</a></dt><dt>4.2. <a href="#example_in_or_close_to">Using the polygon and arc filters to find points in or nearly in a
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>GPSBabel Documentation</title><link rel="stylesheet" href="http://www.gpsbabel.org/style3.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.1" /></head><body><div class="book" lang="en" xml:lang="en"><div class="titlepage"><div><div><h1 class="title"><a id="GPSBabel_Documentation_Book"></a>GPSBabel Documentation</h1></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="preface"><a href="#Introduction">Introduction</a></span></dt><dd><dl><dt><span class="section"><a href="#The_Problem">The Problem: Too many incompatible formats</a></span></dt><dt><span class="section"><a href="#The_Solution">The Solution</a></span></dt></dl></dd><dt><span class="chapter"><a href="#Getting_and_Building">1. Getting it and Building it</a></span></dt><dt><span class="chapter"><a href="#Usage">2. Usage</a></span></dt><dd><dl><dt><span class="sect1"><a href="#Invocation">Invocation</a></span></dt><dt><span class="sect1"><a href="#Suboptions">Suboptions</a></span></dt><dt><span class="sect1"><a href="#Advanced_Usage">Advanced Usage</a></span></dt><dt><span class="sect1"><a href="#Route_And_Track_Modes">Route and Track Modes</a></span></dt><dt><span class="sect1"><a href="#inifile">Working with predefined options</a></span></dt><dt><span class="sect1"><a href="#tracking">Realtime tracking</a></span></dt><dt><span class="sect1"><a href="#batchfile">Batch mode (command files)</a></span></dt></dl></dd><dt><span class="chapter"><a href="#The_Formats">3. The Formats</a></span></dt><dd><dl><dt><span class="section"><a href="#fmt_xcsv">? Character Separated Values (xcsv)</a></span></dt><dt><span class="section"><a href="#fmt_alantrl">Alan Map500 tracklogs (.trl) (alantrl)</a></span></dt><dt><span class="section"><a href="#fmt_alanwpr">Alan Map500 waypoints and routes (.wpr) (alanwpr)</a></span></dt><dt><span class="section"><a href="#fmt_tabsep">All database fields on one tab-separated line (tabsep)</a></span></dt><dt><span class="section"><a href="#fmt_baroiq">Brauniger IQ Series Barograph Download (baroiq)</a></span></dt><dt><span class="section"><a href="#fmt_cambridge">Cambridge/Winpilot glider software (cambridge)</a></span></dt><dt><span class="section"><a href="#fmt_cst">CarteSurTable data file (cst)</a></span></dt><dt><span class="section"><a href="#fmt_cetus">Cetus for Palm/OS (cetus)</a></span></dt><dt><span class="section"><a href="#fmt_coastexp">CoastalExplorer XML (coastexp)</a></span></dt><dt><span class="section"><a href="#fmt_csv">Comma separated values (csv)</a></span></dt><dt><span class="section"><a href="#fmt_compegps">CompeGPS data files (.wpt/.trk/.rte) (compegps)</a></span></dt><dt><span class="section"><a href="#fmt_copilot">CoPilot Flight Planner for Palm/OS (copilot)</a></span></dt><dt><span class="section"><a href="#fmt_coto">cotoGPS for Palm/OS (coto)</a></span></dt><dt><span class="section"><a href="#fmt_custom">Custom "Everything" Style (custom)</a></span></dt><dt><span class="section"><a href="#fmt_axim_gpb">Dell Axim Navigation System (.gpb) file format (axim_gpb)</a></span></dt><dt><span class="section"><a href="#fmt_an1">DeLorme .an1 (drawing) file (an1)</a></span></dt><dt><span class="section"><a href="#fmt_gpl">DeLorme GPL (gpl)</a></span></dt><dt><span class="section"><a href="#fmt_saplus">DeLorme Street Atlas Plus (saplus)</a></span></dt><dt><span class="section"><a href="#fmt_saroute">DeLorme Street Atlas Route (saroute)</a></span></dt><dt><span class="section"><a href="#fmt_xmap">DeLorme XMap HH Native .WPT (xmap)</a></span></dt><dt><span class="section"><a href="#fmt_xmap2006">DeLorme XMap/SAHH 2006 Native .TXT (xmap2006)</a></span></dt><dt><span class="section"><a href="#fmt_xmapwpt">DeLorme XMat HH Street Atlas USA .WPT (PPC) (xmapwpt)</a></span></dt><dt><span class="section"><a href="#fmt_easygps">EasyGPS binary format (easygps)</a></span></dt><dt><span class="section"><a href="#fmt_igc">FAI/IGC Flight Recorder Data Format (igc)</a></span></dt><dt><span class="section"><a href="#fmt_gpssim">Franson GPSGate Simulation (gpssim)</a></span></dt><dt><span class="section"><a href="#fmt_fugawi">Fugawi (fugawi)</a></span></dt><dt><span class="section"><a href="#fmt_garmin301">Garmin 301 Custom position and heartrate (garmin301)</a></span></dt><dt><span class="section"><a href="#fmt_glogbook">Garmin Logbook XML (glogbook)</a></span></dt><dt><span class="section"><a href="#fmt_gdb">Garmin MapSource - gdb (gdb)</a></span></dt><dt><span class="section"><a href="#fmt_mapsource">Garmin MapSource - mps (mapsource)</a></span></dt><dt><span class="section"><a href="#fmt_garmin_txt">Garmin MapSource - txt (tab delimited) (garmin_txt)</a></span></dt><dt><span class="section"><a href="#fmt_pcx">Garmin PCX5 (pcx)</a></span></dt><dt><span class="section"><a href="#fmt_garmin_poi">Garmin POI database (garmin_poi)</a></span></dt><dt><span class="section"><a href="#fmt_garmin">Garmin serial/USB protocol (garmin)</a></span></dt><dt><span class="section"><a href="#fmt_gtrnctr">Garmin Training Centerxml (gtrnctr)</a></span></dt><dt><span class="section"><a href="#fmt_geo">Geocaching.com .loc (geo)</a></span></dt><dt><span class="section"><a href="#fmt_gcdb">GeocachingDB for Palm/OS (gcdb)</a></span></dt><dt><span class="section"><a href="#fmt_geonet">GEOnet Names Server (GNS) (geonet)</a></span></dt><dt><span class="section"><a href="#fmt_geoniche">GeoNiche .pdb (geoniche)</a></span></dt><dt><span class="section"><a href="#fmt_kml">Google Earth (Keyhole) Markup Language (kml)</a></span></dt><dt><span class="section"><a href="#fmt_google">Google Maps XML (google)</a></span></dt><dt><span class="section"><a href="#fmt_gpilots">GpilotS (gpilots)</a></span></dt><dt><span class="section"><a href="#fmt_gtm">GPS TrackMaker (gtm)</a></span></dt><dt><span class="section"><a href="#fmt_arc">GPSBabel arc filter file (arc)</a></span></dt><dt><span class="section"><a href="#fmt_gpsdrive">GpsDrive Format (gpsdrive)</a></span></dt><dt><span class="section"><a href="#fmt_gpsdrivetrack">GpsDrive Format for Tracks (gpsdrivetrack)</a></span></dt><dt><span class="section"><a href="#fmt_gpsman">GPSman (gpsman)</a></span></dt><dt><span class="section"><a href="#fmt_gpspilot">GPSPilot Tracker for Palm/OS (gpspilot)</a></span></dt><dt><span class="section"><a href="#fmt_gpsutil">gpsutil (gpsutil)</a></span></dt><dt><span class="section"><a href="#fmt_gpx">GPX XML (gpx)</a></span></dt><dt><span class="section"><a href="#fmt_hiketech">HikeTech (hiketech)</a></span></dt><dt><span class="section"><a href="#fmt_holux">Holux (gm-100) .wpo Format (holux)</a></span></dt><dt><span class="section"><a href="#fmt_hsandv">HSA Endeavour Navigator export File (hsandv)</a></span></dt><dt><span class="section"><a href="#fmt_html">HTML Output (html)</a></span></dt><dt><span class="section"><a href="#fmt_ignrando">IGN Rando track files (ignrando)</a></span></dt><dt><span class="section"><a href="#fmt_ktf2">Kartex 5 Track File (ktf2)</a></span></dt><dt><span class="section"><a href="#fmt_kwf2">Kartex 5 Waypoint File (kwf2)</a></span></dt><dt><span class="section"><a href="#fmt_kompass_tk">Kompass (DAV) Track (.tk) (kompass_tk)</a></span></dt><dt><span class="section"><a href="#fmt_kompass_wp">Kompass (DAV) Waypoints (.wp) (kompass_wp)</a></span></dt><dt><span class="section"><a href="#fmt_psitrex">KuDaTa PsiTrex text (psitrex)</a></span></dt><dt><span class="section"><a href="#fmt_lowranceusr">Lowrance USR (lowranceusr)</a></span></dt><dt><span class="section"><a href="#fmt_maggeo">Magellan Explorist Geocaching (maggeo)</a></span></dt><dt><span class="section"><a href="#fmt_mapsend">Magellan Mapsend (mapsend)</a></span></dt><dt><span class="section"><a href="#fmt_magnav">Magellan NAV Companion for Palm/OS (magnav)</a></span></dt><dt><span class="section"><a href="#fmt_magellanx">Magellan SD files (as for eXplorist) (magellanx)</a></span></dt><dt><span class="section"><a href="#fmt_magellan">Magellan SD files (as for Meridian) (magellan)</a></span></dt><dt><span class="section"><a href="#fmt_magellan1">Magellan serial protocol (magellan)</a></span></dt><dt><span class="section"><a href="#fmt_tef">Map&Guide 'TourExchangeFormat' XML (tef)</a></span></dt><dt><span class="section"><a href="#fmt_mag_pdb">Map&Guide to Palm/OS exported files (.pdb) (mag_pdb)</a></span></dt><dt><span class="section"><a href="#fmt_mapconverter">Mapopolis.com Mapconverter CSV (mapconverter)</a></span></dt><dt><span class="section"><a href="#fmt_mxf">MapTech Exchange Format (mxf)</a></span></dt><dt><span class="section"><a href="#fmt_msroute">Microsoft AutoRoute 2002 (pin/route reader) (msroute)</a></span></dt><dt><span class="section"><a href="#fmt_msroute1">Microsoft Streets and Trips (pin/route reader) (msroute)</a></span></dt><dt><span class="section"><a href="#fmt_s_and_t">Microsoft Streets and Trips 2002-2006 (s_and_t)</a></span></dt><dt><span class="section"><a href="#fmt_bcr">Motorrad Routenplaner (Map&Guide) .bcr files (bcr)</a></span></dt><dt><span class="section"><a href="#fmt_psp">MS PocketStreets 2002 Pushpin (psp)</a></span></dt><dt><span class="section"><a href="#fmt_tpg">National Geographic Topo .tpg (waypoints) (tpg)</a></span></dt><dt><span class="section"><a href="#fmt_tpo2">National Geographic Topo 2.x .tpo (tpo2)</a></span></dt><dt><span class="section"><a href="#fmt_tpo3">National Geographic Topo 3.x/4.x .tpo (tpo3)</a></span></dt><dt><span class="section"><a href="#fmt_navicache">Navicache.com XML (navicache)</a></span></dt><dt><span class="section"><a href="#fmt_nmn4">Navigon Mobile Navigator .rte files (nmn4)</a></span></dt><dt><span class="section"><a href="#fmt_dna">Navitrak DNA marker format (dna)</a></span></dt><dt><span class="section"><a href="#fmt_netstumbler">NetStumbler Summary File (text) (netstumbler)</a></span></dt><dt><span class="section"><a href="#fmt_nima">NIMA/GNIS Geographic Names File (nima)</a></span></dt><dt><span class="section"><a href="#fmt_nmea">NMEA 0183 sentences (nmea)</a></span></dt><dt><span class="section"><a href="#fmt_ozi">OziExplorer (ozi)</a></span></dt><dt><span class="section"><a href="#fmt_palmdoc">PalmDoc Output (palmdoc)</a></span></dt><dt><span class="section"><a href="#fmt_pathaway">PathAway Database for Palm/OS (pathaway)</a></span></dt><dt><span class="section"><a href="#fmt_quovadis">Quovadis (quovadis)</a></span></dt><dt><span class="section"><a href="#fmt_raymarine">Raymarine Waypoint File (.rwf) (raymarine)</a></span></dt><dt><span class="section"><a href="#fmt_cup">See You flight analysis data (cup)</a></span></dt><dt><span class="section"><a href="#fmt_sportsim">Sportsim track files (part of zipped .ssz files) (sportsim)</a></span></dt><dt><span class="section"><a href="#fmt_stmsdf">Suunto Trek Manager (STM) .sdf files (stmsdf)</a></span></dt><dt><span class="section"><a href="#fmt_stmwpp">Suunto Trek Manager (STM) WaypointPlus files (stmwpp)</a></span></dt><dt><span class="section"><a href="#fmt_openoffice">Tab delimited fields useful for OpenOffice, Ploticus etc. (openoffice)</a></span></dt><dt><span class="section"><a href="#fmt_text">Textual Output (text)</a></span></dt><dt><span class="section"><a href="#fmt_tomtom">TomTom POI file (tomtom)</a></span></dt><dt><span class="section"><a href="#fmt_tmpro">TopoMapPro Places File (tmpro)</a></span></dt><dt><span class="section"><a href="#fmt_dmtlog">TrackLogs digital mapping (.trl) (dmtlog)</a></span></dt><dt><span class="section"><a href="#fmt_tiger">U.S. Census Bureau Tiger Mapping Service (tiger)</a></span></dt><dt><span class="section"><a href="#fmt_unicsv">Universal csv with field structure in first line (unicsv)</a></span></dt><dt><span class="section"><a href="#fmt_vcard">Vcard Output (for iPod) (vcard)</a></span></dt><dt><span class="section"><a href="#fmt_vitosmt">Vito Navigator II tracks (vitosmt)</a></span></dt><dt><span class="section"><a href="#fmt_wfff">WiFiFoFum 2.0 for PocketPC XML (wfff)</a></span></dt><dt><span class="section"><a href="#fmt_wbt-bin">Wintec WBT-100/200 Binary file format (wbt-bin)</a></span></dt><dt><span class="section"><a href="#fmt_wbt">Wintec WBT-100/200 GPS Download (wbt)</a></span></dt><dt><span class="section"><a href="#fmt_yahoo">Yahoo Geocode API data (yahoo)</a></span></dt></dl></dd><dt><span class="chapter"><a href="#Data_Filters">4. Data Filters</a></span></dt><dd><dl><dt><span class="section"><a href="#filter_polygon">Include Only Points Inside Polygon (polygon)</a></span></dt><dt><span class="section"><a href="#filter_arc">Include Only Points Within Distance of Arc (arc)</a></span></dt><dt><span class="section"><a href="#filter_radius">Include Only Points Within Radius (radius)</a></span></dt><dt><span class="section"><a href="#filter_interpolate">Interpolate between trackpoints (interpolate)</a></span></dt><dt><span class="section"><a href="#filter_track">Manipulate track lists (track)</a></span></dt><dt><span class="section"><a href="#filter_sort">Rearrange waypoints by resorting (sort)</a></span></dt><dt><span class="section"><a href="#filter_nuketypes">Remove all waypoints, tracks, or routes (nuketypes)</a></span></dt><dt><span class="section"><a href="#filter_duplicate">Remove Duplicates (duplicate)</a></span></dt><dt><span class="section"><a href="#filter_position">Remove Points Within Distance (position)</a></span></dt><dt><span class="section"><a href="#filter_discard">Remove unreliable points with high hdop or vdop (discard)</a></span></dt><dt><span class="section"><a href="#filter_reverse">Reverse stops within routes (reverse)</a></span></dt><dt><span class="section"><a href="#filter_stack">Save and restore waypoint lists (stack)</a></span></dt><dt><span class="section"><a href="#filter_simplify">Simplify routes (simplify)</a></span></dt><dt><span class="section"><a href="#filter_transform">Transform waypoints into a route, tracks into routes, ... (transform)</a></span></dt></dl></dd><dt><span class="appendix"><a href="#Datums">A. Supported Datums</a></span></dt><dt><span class="appendix"><a href="#GarminIcons">B. Garmin Icons</a></span></dt><dt><span class="appendix"><a href="#Styles">C. GPSBabel XCSV Style Files</a></span></dt><dd><dl><dt><span class="section"><a href="#styles_intro">Introduction</a></span></dt><dt><span class="section"><a href="#style_intro2">Style file overview</a></span></dt><dt><span class="section"><a href="#styles_internal_const">Internal Constants</a></span></dt><dt><span class="section"><a href="#style_global">Global Properties of the File</a></span></dt><dt><span class="section"><a href="#style_behavior">GPSBabel Behavior Directives</a></span></dt><dt><span class="section"><a href="#style_layout">Defining the Layout of the File</a></span></dt><dt><span class="section"><a href="#style_define">Defining Fields Within the File</a></span></dt><dt><span class="section"><a href="#style_examples">Examples</a></span></dt><dt><span class="section"><a href="#style_notes">Miscellaneous Notes</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>3.1. <a href="#garmin_grid">Grid values for garmin_txt</a></dt></dl></div><div class="list-of-examples"><p><b>List of Examples</b></p><dl><dt>3.1. <a href="#all_garmin_txt_options">Command showing garmin_txt output with all options</a></dt><dt>3.2. <a href="#sample_bcr_command">Sample BCR command with all options</a></dt><dt>3.3. <a href="#wbt-bin-on-macos">Command showing conversion of a Wintec binary file to GPX</a></dt><dt>3.4. <a href="#wbt-on-macos">Command showing WBT-200 download and erase over Bluetooth on Mac OS X</a></dt><dt>4.1. <a href="#example_polygon_filter">Using the polygon filter</a></dt><dt>4.2. <a href="#example_in_or_close_to">Using the polygon and arc filters to find points in or nearly in a
polygon</a></dt><dt>4.3. <a href="#example_arc_filter">Using the arc filter</a></dt><dt>4.4. <a href="#radius_to_find_points_close">Using the radius filter to find points close to a given point</a></dt><dt>4.5. <a href="#example_interpolate_filter">Using the interpolate filter</a></dt><dt>4.6. <a href="#ex_track_move">Time-shifting a track with the track filter</a></dt><dt>4.7. <a href="#ex_track_merge">Merging tracks with the track filter</a></dt><dt>4.8. <a href="#ex_track_startstop">Extracting a period of time with the track filter</a></dt><dt>4.9. <a href="#example_nuketypes_filter">Filtering data types with nuketypes</a></dt><dt>4.10. <a href="#duplicate_to_suppress_points">Using the duplicate filter to suppress points with the same
name and location</a></dt><dt>4.11. <a href="#duplicate_to_ignore">Using the duplicate filter to implement an "ignore list."</a></dt><dt>4.12. <a href="#Correcting_Cache_Locations">Using the duplicate filter to correct the locations of "puzzle"
-geocaches</a></dt><dt>4.13. <a href="#posn_to_suppress_close_points">Using the position filter to suppress close points</a></dt><dt>4.14. <a href="#example_discard_filter">Using the discard filter</a></dt></dl></div><div class="preface" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Introduction"></a>Introduction</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#The_Problem">The Problem</a></span></dt><dt><span class="section"><a href="#The_Solution">The Solution</a></span></dt></dl></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="The_Problem"></a>The Problem</h2></div></div></div><p> There are simply too many gratuitously different file formats
+geocaches</a></dt><dt>4.13. <a href="#posn_to_suppress_close_points">Using the position filter to suppress close points</a></dt><dt>4.14. <a href="#example_discard_filter">Using the discard filter</a></dt><dt>4.15. <a href="#transform_to_wpt">Converting a track to a sequence of waypoints</a></dt><dt>4.16. <a href="#transform_to_rte">Converting a pile of waypoints to a GPX route</a></dt><dt>4.17. <a href="#transform_to_trk">Converting a pile of waypoints to a GPX track</a></dt><dt>4.18. <a href="#transform_del">Convert a GPX track to GPX waypoints, tossing the original track</a></dt></dl></div><div class="preface" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Introduction"></a>Introduction</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#The_Problem">The Problem: Too many incompatible formats</a></span></dt><dt><span class="section"><a href="#The_Solution">The Solution</a></span></dt></dl></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="The_Problem"></a>The Problem: Too many incompatible formats</h2></div></div></div><p> There are simply too many gratuitously different file formats
to hold waypoint, track, and route information in various programs
used by computers and GPS receivers.
<a href="http://www.topografix.com/gpx.asp" target="_top">GPX</a> defines a
standard in XML to contain all the data, but there are too many
programs that don't understand it yet and too much data that are in an
alternate formats.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="The_Solution"></a>The Solution</h2></div></div></div><p> I needed to convert waypoints between a couple of formats, so I
+</p><p>
+Perhaps you have an Explorist 600 and your friend has a StreetPilot 2720.
+You've collected a a list of your favorite locations as waypoints and you'd
+like to be able to share them. Unfortunately, his copy of Garmin Mapsource
+won't read data created by your copy of Magellan Directroute. What you need
+is a program that converts data bewteen the two programs.
+</p><p>
+But GPSBabel actually does much more...
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="The_Solution"></a>The Solution</h2></div></div></div><p> The original author of GPSBabel, <a href="/people/robertlipe.html" target="_top">Robert Lipe</a>, needed to convert waypoints between a couple of formats, so he
whipped up a converter and based it on an extensible foundation so
-that it was easy to add new formats. Most file formats added so far
-have taken under 200 lines of reasonable ISO C so they can be stamped
-out pretty trivially. Formats that are ASCII text delimited in some
-fixed way can be added with no programming at all via our 'style'
-mechanism.
-</p></div></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Getting_and_Building"></a>Chapter 1. Getting it and Building it</h2></div></div></div><p>
+that it was easy to add new formats and made the program freely available. <a href="/people/index.html" target="_top">Many others</a> have contributed to the program since then.</p><p> Most file formats added so far have taken under 200
+ lines of reasonable ISO C so they can be stamped
+ out pretty trivially. Formats that are ASCII text delimited in some
+ fixed way can be added with no programming at all via our
+ <a href="#Styles" title="Appendix C. GPSBabel XCSV Style Files">style</a> mechanism.
+ </p></div></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Getting_and_Building"></a>Chapter 1. Getting it and Building it</h2></div></div></div><p>
GPSBabel is distributed "ready to run" on most common
operating systems via the
<a href="http://www.gpsbabel.org/download.html" target="_top">download page</a>.
Linux, Solaris, and a variety of processors and compilers.
</p><p>
In most cases, the code is as simple to build as running:
- </p><pre class="screen">./configure && make</pre><p>
-</p><p><a href="http://expat.sourceforge.net" target="_top">Expat</a>
+</p><p><strong class="userinput"><code> ./configure && make</code></strong></p><p><a href="http://expat.sourceforge.net" target="_top">Expat</a>
is strongly recommended for source builds as it is
-required for reading all the XML formats such as GPX.
+required for reading all the XML formats such as GPX. Fedora users
+may need to 'yum install expat-devel'. Ubutnu users may need to
+'apt-get install expat libexpat-dev'.
</p><p><a href="http://libusb.sourceforge.net" target="_top">libusb</a>
is recommended for OS/X and Linux if you want to use a USB Garmin.
+Fedora users may need to 'yum install expat-devel'. Ubutnu users may
+need to 'apt-get install libusb-dev'.
</p><p>There are additional flags that can be passed to configure to
- customize your build of GPSBabel. </p><pre class="screen"> ./configure --help</pre><p> lists all the supported options, but additionally we have:
-</p><p>
+ customize your build of GPSBabel.
+</p><p><strong class="userinput"><code>./configure --help</code></strong></p><p>
+lists all the supported options, but additionally we have:
<code class="option">--disable-shapefile</code> Excludes the shapefile support.
</p><p>
<code class="option">--disable-pdb</code> Excludes the Palm database support and all formats that rely on it.
<code class="option">--without-libusb</code> Disables use of libusb, even it's it's available.
</p><p>
<code class="option">--with-zlib=(included)|system|no</code> By default, we use our own version of zlib. If you specify <code class="option">system</code> the system zlib is used. A value of <code class="option">no</code> (or --without-zlib) disables zlib.
-</p></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Usage"></a>Chapter 2. Usage</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#Invocation">Invocation</a></span></dt><dt><span class="sect1"><a href="#Advanced_Usage">Advanced Usage</a></span></dt><dt><span class="sect1"><a href="#Route_And_Track_Modes">Route and Track Modes</a></span></dt><dt><span class="sect1"><a href="#inifile">Working with predefined options</a></span></dt><dt><span class="sect1"><a href="#tracking">Realtime tracking</a></span></dt><dt><span class="sect1"><a href="#batchfile">Batch mode (command files)</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Invocation"></a>Invocation</h2></div></div></div><p>Invocation was meant to be flexible. Unfortunately,
- that can sometimes lead to unwieldy command lines.</p><p>
+</p></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Usage"></a>Chapter 2. Usage</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#Invocation">Invocation</a></span></dt><dt><span class="sect1"><a href="#Suboptions">Suboptions</a></span></dt><dt><span class="sect1"><a href="#Advanced_Usage">Advanced Usage</a></span></dt><dt><span class="sect1"><a href="#Route_And_Track_Modes">Route and Track Modes</a></span></dt><dt><span class="sect1"><a href="#inifile">Working with predefined options</a></span></dt><dt><span class="sect1"><a href="#tracking">Realtime tracking</a></span></dt><dt><span class="sect1"><a href="#batchfile">Batch mode (command files)</a></span></dt></dl></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Invocation"></a>Invocation</h2></div></div></div><p>
If you're using GPSBabel, you will need to know how to do at least two things:
read data from a file, and write it to another file. There are four basic
-commands you need to know to do those things:
+options you need to know to do those things:
</p><div class="segmentedlist"><table border="0"><thead><tr class="segtitle"><th>Command</th><th>Meaning</th></tr></thead><tbody><tr class="seglistitem"><td class="seg"><code class="option">-i</code> <em class="parameter"><code>format</code></em></td><td class="seg">Set input format</td></tr><tr class="seglistitem"><td class="seg"><code class="option">-f</code> <em class="parameter"><code>filename</code></em></td><td class="seg">Read file</td></tr><tr class="seglistitem"><td class="seg"><code class="option">-o</code> <em class="parameter"><code>format</code></em></td><td class="seg">Set output format</td></tr><tr class="seglistitem"><td class="seg"><code class="option">-F</code> <em class="parameter"><code>filename</code></em></td><td class="seg">Write output File</td></tr></tbody></table></div><p>
The <em class="parameter"><code>format</code></em> parameters in the above list
refer to the names of formats or file types supported by GPSBabel.
-</p><pre class="screen">gpsbabel -? </pre><p>will always show you the supported file types. In this document, the
+</p><p><strong class="userinput"><code>gpsbabel -? </code></strong></p><p>will always show you the supported file types. In this document, the
various supported formats are listed in <a href="#The_Formats" title="Chapter 3. The Formats">Chapter 3, <i>The Formats</i></a>. The
name that you would use on the command line follows the format name in
parentheses.
</p><p>
+Options are <span class="emphasis"><em>always</em></span> processed in order from left to right.
+In practical terms, this means that things you want to read should appear
+in the command before things you want to write.
+</p><p>
The <em class="parameter"><code>filename</code></em> parameters specify the
name of a file to be read or written.
</p><p>To use
this program, just tell it what you're reading, where to read
it from, what you're writing, and what to write it to. For
- example:</p><pre class="screen">gpsbabel -i geo -f /tmp/geocaching.loc -o gpx -F /tmp/geocaching.gpx</pre><p>tells it to read the file "/tmp/geocaching.loc" in geocaching.com
+ example:</p><p><strong class="userinput"><code>gpsbabel -i geo -f /tmp/geocaching.loc -o gpx -F /tmp/geocaching.gpx</code></strong></p><p>tells it to read the file "/tmp/geocaching.loc" in geocaching.com
format and create a new file in GPX format.</p><p> This command will read from a Magellan unit attached
to the first serial port on a Linux system (device names will
vary on other OSes) and write them as a geocaching loc file.
- The second command does the same on Microsoft Windows.</p><pre class="screen">gpsbabel -i magellan -f /dev/ttyS0 -o geo -F mag.loc</pre><pre class="screen">gpsbabel -i magellan -f com1 -o geo -F mag.loc</pre><p>Optionally, you may specify <em class="parameter"><code>"-s"</code></em> in any command line. This
+ The second command does the same on Microsoft Windows.</p><p><strong class="userinput"><code>gpsbabel -i magellan -f /dev/ttyS0 -o geo -F mag.loc</code></strong></p><p><strong class="userinput"><code>gpsbabel -i magellan -f com1 -o geo -F mag.loc</code></strong></p><p>Optionally, you may specify <em class="parameter"><code>"-s"</code></em> in any command line. This
causes the program to ignore any "short" names that may be
present in the source data format and synthesize one from the
long name. This is particularly useful if you're writing to
to my Magellan so my waypoints have "real" names instead of
the 'GC1234' ones that are optimized for NMEA-only receivers.
A geocacher with a Magellan receiver may thus find commands
- like this useful.</p><pre class="screen"> gpsbabel -s -i geo -f geocaching.loc -o magellan -F /dev/ttyS0 </pre><pre class="screen"> gpsbabel -s -i geo -f geocaching.loc -o magellan -F com1</pre></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Advanced_Usage"></a>Advanced Usage</h2></div></div></div><p>Argument are processed in the order they appear on the command
+ like this useful.</p><p><strong class="userinput"><code>gpsbabel -s -i geo -f geocaching.loc -o magellan -F /dev/ttyS0 </code></strong></p><p><strong class="userinput"><code>gpsbabel -s -i geo -f geocaching.loc -o magellan -F com1</code></strong></p></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Suboptions"></a>Suboptions</h2></div></div></div><p>
+ Many of the available format options in GPSBabel can themselves
+ take options. While we try to make all the formats do the most
+ sensible thing possible without any extra options, this allows
+ great power and flexibility in the operation of the program.
+ </p><p>
+ Suboptions are comma separated and immediately follow the option
+ itself. The available suboptions are listed on the individual
+ format pages. We'll make an example from <a href="#fmt_kml" title="Google Earth (Keyhole) Markup Language (kml)">the section called “Google Earth (Keyhole) Markup Language (kml)”</a>:
+ </p><p><strong class="userinput"><code>gpsbabel -i gpx -f file.gpx -o kml,deficon="file://myicon.png",lines=0 -F one.kml -o kml -F two.kml</code></strong></p><p>
+ This command will read the GPX file <code class="filename">file.gpx</code>
+ and create two KML files. <code class="filename">one.kml</code> will
+ have the given icon and no lines between track and routepoints.
+ <code class="filename">two.kml</code> will be created with the defaults used
+ in the KML writer.
+ </p><p>
+ Suboptions for the various formats allow you to change serial speeds,
+ pass arguments to filters, change the type of file written, override
+ icon defaults, and lots of other things. The suboptions for each
+ filetype are documented on the page in this document that describes
+ the option itself.
+ </p></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Advanced_Usage"></a>Advanced Usage</h2></div></div></div><p>Argument are processed in the order they appear on the command
line and are translated internally into a pipeline that data flows
through when executed. Normally one would: </p><table class="simplelist" border="0" summary="Simple list"><tr><td>read from one input</td></tr><tr><td>optionally apply filters </td></tr><tr><td>write into one output</td></tr></table><p> but GPSBabel is flexible enough to allow more complicated
operations such as reading from several files (potentially of
</p><p>The input file type remains unchanged until a new
<em class="parameter"><code>-i</code></em> argument is seen.
Files are read in the order they appear. So you could merge
- three input files into one output file with: </p><pre class="screen">gpsbabel -i geo -f 1.loc -f 2.loc -f 3.loc -o geo -F big.loc</pre><p>You can merge files of different types:</p><pre class="screen">gpsbabel -i geo -f 1.loc -i gpx -f 2.gpx -i pcx 3.pcx \
--o gpsutil -F big.gps</pre><p> You can write the same data in different output formats:</p><pre class="screen">gpsbabel -i geo -f 1.loc -o gpx -F 1.gpx -o pcx 1.wpt</pre><p>If you want to change the character set of input or/and
+ three input files into one output file with: </p><p><strong class="userinput"><code>gpsbabel -i geo -f 1.loc -f 2.loc -f 3.loc -o geo -F big.loc</code></strong></p><p>You can merge files of different types:</p><p><strong class="userinput"><code>gpsbabel -i geo -f 1.loc -i gpx -f 2.gpx -i pcx 3.pcx
+-o gpsutil -F big.gps</code></strong></p><p> You can write the same data in different output formats:</p><p><strong class="userinput"><code>gpsbabel -i geo -f 1.loc -o gpx -F 1.gpx -o pcx -F 1.wpt</code></strong></p><p>If you want to change the character set of input or/and
output side you can do this with the option <code class="option">-c
<character set></code>. You can get a complete list
of supported character sets with "gpsbabel -l". To change
- the character set on both sides you should do this:</p><pre class="screen">gpsbabel -i xcsv,style=foo.style -c latin1 -f foo \
- -o xcsv,style=bar.style -c ms-ansi -F bar</pre><p>Note, that some formats has a fixed character set and ignore this option.</p></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Route_And_Track_Modes"></a>Route and Track Modes</h2></div></div></div><p> Most formats will make reasonable attempt to work
+ the character set on both sides you should do this:</p><p><strong class="userinput"><code>gpsbabel -i xcsv,style=foo.style -c latin1 -f foo -o xcsv,style=bar.style -c ms-ansi -F bar</code></strong></p><p>Note, that some formats has a fixed character set and ignore this option.</p></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Route_And_Track_Modes"></a>Route and Track Modes</h2></div></div></div><p> Most formats supported by GPSBabel will make a reasonable attempt to work
transparently with waypoints, tracks, and routes. Some
- formats, like 'garmin' and 'magellan' require the <em class="parameter"><code>-t</code></em> flag to work with tracks and
+ formats, like <a href="#fmt_garmin" title="Garmin serial/USB protocol (garmin)">garmin</a> and <a href="#fmt_magellan" title="Magellan SD files (as for Meridian) (magellan)">magellan</a> require the <em class="parameter"><code>-t</code></em> flag to work with tracks and
<em class="parameter"><code>-r</code></em> to work with
routes. <em class="parameter"><code>-w</code></em> is for
waypoints, and is the default. So if you wanted to read all
- data from your unit into a gpx file, you might use a command
- like:</p><pre class="screen"> gpsbabel -t -r -w -i magellan -f com1: -o gpx -F backup.gpx</pre><p> Tracks and routes are advanced features and don't try
+ data from a Magellan Meridian GPS receiver into a gpx file, you might use a command
+ like:</p><p><strong class="userinput"><code> gpsbabel -t -r -w -i magellan -f com1: -o gpx -F backup.gpx</code></strong></p><p> Tracks and routes are advanced features and don't try
to handle every possible hazard that can be encountered
during a conversion. If you're merging or converting files
- of similar limitations, things work very well.</p><p> Tracks and routes will sometimes be converted to a
+ of similar limitations, things work very well.</p><p> Many of those hazards can be overcome with our filters
+ but there are often compromises to be made. For example, if you
+ have a GPX route that contains 150 turn points but you're sending
+ the route to a GPS receiver that supports only 30 turnpoints, something has
+ to go. One might use our 'simplify' filter to produce a route that
+ retained the 30 most mathematically significant turnpoints but that
+ may not really be the route you had in mind.
+ </p><p> Tracks and routes will sometimes be converted to a
list of waypoints when necessary, f.i. when writing into one
of the CSV formats. The inverse operation is not supported
right now, so reading the converted track back from CSV will
There may be situations where predefined values are not useable
(i.e. wrapper applications using GPSBabel in the background).
The inifile mechanism can be disabled with an empty filename.
- </p><pre class="screen">gpsbabel -p "" -i gpx -f something.gpx -o tiger -F -</pre></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tracking"></a>Realtime tracking</h2></div></div></div><p>
- Introduced in GPSBabel 1.3.1, we now have an <span class="emphasis"><em>experimental</em></span> feature for realtime tracking via the new '-T' option. This reads position reports from selected formats and writes an output file when a position report is received.
+ </p><p><strong class="userinput"><code>gpsbabel -p "" -i gpx -f something.gpx -o tiger -F -</code></strong></p></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tracking"></a>Realtime tracking</h2></div></div></div><p>
+ Introduced in GPSBabel 1.3.1, we now have an <span class="emphasis"><em>experimental</em></span> feature for realtime tracking via the new <code class="option">-T</code> option. This reads position reports from selected formats and writes an output file when a position report is received.
</p><p>
As of this writing, Garmin's PVT protocol and NMEA are supported
inputs and KML is supported on output. Additional formats
may be added by interested parties later.
- </p><p>
- </p><pre class="screen">gpsbabel -T -i garmin -f usb: -o kml -F xxx.kml</pre><p>
+ </p><p><strong class="userinput"><code>gpsbabel -T -i garmin -f usb: -o kml -F xxx.kml</code></strong></p><p>
Will read the USB-connected Garmin and rewrite 'xxx.kml' atomically,
suitable for a self-refreshing network link in Google Earth.
</p></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="batchfile"></a>Batch mode (command files)</h2></div></div></div><p>
In addition to reading arguments from the command line, GPSBabel can
- read directions from batch (or command) files via the '-b' option.
+ read directions from batch (or command) files via the <code class="option">-b</code> option.
</p><p>
These files are ideal for holding long command lines, long file lists, complex filters
and so on. You can use all GPSBabel options and combinations when writing
- such files. Nesting batch files by using the '-b' option within a batch file is supported.
+ such files. Nesting batch files by using the <code class="option">-b</code> option within a batch file is supported.
</p><p>
Here is an example demonstrating segmenting a large command line
by placing the input and filtering directives in a file called 'all_my_files'.
- </p><pre class="screen">gpsbabel -b all_my_files -o gdb -F all_my_tracks.gdb</pre><p>
- </p><p>
+ </p><p><strong class="userinput"><code>gpsbabel -b all_my_files -o gdb -F all_my_tracks.gdb</code></strong></p><p>
'all_my_files' could look like this:
- </p><table class="simplelist" border="0" summary="Simple list"><tr><td>-i gpx</td></tr><tr><td>-f saxony_in_summer_2004.gpx -f austria_2005.gpx</td></tr><tr><td>-i gdb</td></tr><tr><td>-f croatia_2006.gdb</td></tr><tr><td>-x nuketypes,waypoints,routes</td></tr><tr><td>-x track,pack,split,title="LOG # %Y%m%d"</td></tr></table></div></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="The_Formats"></a>Chapter 3. The Formats</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#fmt_xcsv">? Character Separated Values (xcsv)</a></span></dt><dt><span class="section"><a href="#fmt_tabsep">All database fields on one tab-separated line (tabsep)</a></span></dt><dt><span class="section"><a href="#fmt_baroiq">Brauniger IQ Series Barograph Download (baroiq)</a></span></dt><dt><span class="section"><a href="#fmt_cambridge">Cambridge/Winpilot glider software (cambridge)</a></span></dt><dt><span class="section"><a href="#fmt_cst">CarteSurTable data file (cst)</a></span></dt><dt><span class="section"><a href="#fmt_cetus">Cetus for Palm/OS (cetus)</a></span></dt><dt><span class="section"><a href="#fmt_coastexp">CoastalExplorer XML (coastexp)</a></span></dt><dt><span class="section"><a href="#fmt_csv">Comma separated values (csv)</a></span></dt><dt><span class="section"><a href="#fmt_compegps">CompeGPS data files (.wpt/.trk/.rte) (compegps)</a></span></dt><dt><span class="section"><a href="#fmt_copilot">CoPilot Flight Planner for Palm/OS (copilot)</a></span></dt><dt><span class="section"><a href="#fmt_coto">cotoGPS for Palm/OS (coto)</a></span></dt><dt><span class="section"><a href="#fmt_custom">Custom "Everything" Style (custom)</a></span></dt><dt><span class="section"><a href="#fmt_axim_gpb">Dell Axim Navigation System (.gpb) file format (axim_gpb)</a></span></dt><dt><span class="section"><a href="#fmt_an1">DeLorme .an1 (drawing) file (an1)</a></span></dt><dt><span class="section"><a href="#fmt_gpl">DeLorme GPL (gpl)</a></span></dt><dt><span class="section"><a href="#fmt_saplus">DeLorme Street Atlas Plus (saplus)</a></span></dt><dt><span class="section"><a href="#fmt_saroute">DeLorme Street Atlas Route (saroute)</a></span></dt><dt><span class="section"><a href="#fmt_xmap">DeLorme XMap HH Native .WPT (xmap)</a></span></dt><dt><span class="section"><a href="#fmt_xmap2006">DeLorme XMap/SAHH 2006 Native .TXT (xmap2006)</a></span></dt><dt><span class="section"><a href="#fmt_xmapwpt">DeLorme XMat HH Street Atlas USA .WPT (PPC) (xmapwpt)</a></span></dt><dt><span class="section"><a href="#fmt_easygps">EasyGPS binary format (easygps)</a></span></dt><dt><span class="section"><a href="#fmt_igc">FAI/IGC Flight Recorder Data Format (igc)</a></span></dt><dt><span class="section"><a href="#fmt_gpssim">Franson GPSGate Simulation (gpssim)</a></span></dt><dt><span class="section"><a href="#fmt_fugawi">Fugawi (fugawi)</a></span></dt><dt><span class="section"><a href="#fmt_garmin301">Garmin 301 Custom position and heartrate (garmin301)</a></span></dt><dt><span class="section"><a href="#fmt_glogbook">Garmin Logbook XML (glogbook)</a></span></dt><dt><span class="section"><a href="#fmt_gdb">Garmin MapSource - gdb (gdb)</a></span></dt><dt><span class="section"><a href="#fmt_mapsource">Garmin MapSource - mps (mapsource)</a></span></dt><dt><span class="section"><a href="#fmt_garmin_txt">Garmin MapSource - txt (tab delimited) (garmin_txt)</a></span></dt><dt><span class="section"><a href="#fmt_pcx">Garmin PCX5 (pcx)</a></span></dt><dt><span class="section"><a href="#fmt_garmin_poi">Garmin POI database (garmin_poi)</a></span></dt><dt><span class="section"><a href="#fmt_garmin">Garmin serial/USB protocol (garmin)</a></span></dt><dt><span class="section"><a href="#fmt_gtrnctr">Garmin Training Centerxml (gtrnctr)</a></span></dt><dt><span class="section"><a href="#fmt_geo">Geocaching.com .loc (geo)</a></span></dt><dt><span class="section"><a href="#fmt_gcdb">GeocachingDB for Palm/OS (gcdb)</a></span></dt><dt><span class="section"><a href="#fmt_geonet">GEOnet Names Server (GNS) (geonet)</a></span></dt><dt><span class="section"><a href="#fmt_geoniche">GeoNiche .pdb (geoniche)</a></span></dt><dt><span class="section"><a href="#fmt_kml">Google Earth (Keyhole) Markup Language (kml)</a></span></dt><dt><span class="section"><a href="#fmt_google">Google Maps XML (google)</a></span></dt><dt><span class="section"><a href="#fmt_gpilots">GpilotS (gpilots)</a></span></dt><dt><span class="section"><a href="#fmt_gtm">GPS TrackMaker (gtm)</a></span></dt><dt><span class="section"><a href="#fmt_arc">GPSBabel arc filter file (arc)</a></span></dt><dt><span class="section"><a href="#fmt_gpsdrive">GpsDrive Format (gpsdrive)</a></span></dt><dt><span class="section"><a href="#fmt_gpsdrivetrack">GpsDrive Format for Tracks (gpsdrivetrack)</a></span></dt><dt><span class="section"><a href="#fmt_gpsman">GPSman (gpsman)</a></span></dt><dt><span class="section"><a href="#fmt_gpspilot">GPSPilot Tracker for Palm/OS (gpspilot)</a></span></dt><dt><span class="section"><a href="#fmt_gpsutil">gpsutil (gpsutil)</a></span></dt><dt><span class="section"><a href="#fmt_gpx">GPX XML (gpx)</a></span></dt><dt><span class="section"><a href="#fmt_hiketech">HikeTech (hiketech)</a></span></dt><dt><span class="section"><a href="#fmt_holux">Holux (gm-100) .wpo Format (holux)</a></span></dt><dt><span class="section"><a href="#fmt_hsandv">HSA Endeavour Navigator export File (hsandv)</a></span></dt><dt><span class="section"><a href="#fmt_html">HTML Output (html)</a></span></dt><dt><span class="section"><a href="#fmt_ignrando">IGN Rando track files (ignrando)</a></span></dt><dt><span class="section"><a href="#fmt_ktf2">Kartex 5 Track File (ktf2)</a></span></dt><dt><span class="section"><a href="#fmt_kwf2">Kartex 5 Waypoint File (kwf2)</a></span></dt><dt><span class="section"><a href="#fmt_psitrex">KuDaTa PsiTrex text (psitrex)</a></span></dt><dt><span class="section"><a href="#fmt_lowranceusr">Lowrance USR (lowranceusr)</a></span></dt><dt><span class="section"><a href="#fmt_maggeo">Magellan Explorist Geocaching (maggeo)</a></span></dt><dt><span class="section"><a href="#fmt_mapsend">Magellan Mapsend (mapsend)</a></span></dt><dt><span class="section"><a href="#fmt_magnav">Magellan NAV Companion for Palm/OS (magnav)</a></span></dt><dt><span class="section"><a href="#fmt_magellanx">Magellan SD files (as for eXplorist) (magellanx)</a></span></dt><dt><span class="section"><a href="#fmt_magellan">Magellan SD files (as for Meridian) (magellan)</a></span></dt><dt><span class="section"><a href="#fmt_magellan1">Magellan serial protocol (magellan)</a></span></dt><dt><span class="section"><a href="#fmt_tef">Map&Guide 'TourExchangeFormat' XML (tef)</a></span></dt><dt><span class="section"><a href="#fmt_mag_pdb">Map&Guide to Palm/OS exported files (.pdb) (mag_pdb)</a></span></dt><dt><span class="section"><a href="#fmt_mapconverter">Mapopolis.com Mapconverter CSV (mapconverter)</a></span></dt><dt><span class="section"><a href="#fmt_mxf">MapTech Exchange Format (mxf)</a></span></dt><dt><span class="section"><a href="#fmt_msroute">Microsoft AutoRoute 2002 (pin/route reader) (msroute)</a></span></dt><dt><span class="section"><a href="#fmt_msroute1">Microsoft Streets and Trips (pin/route reader) (msroute)</a></span></dt><dt><span class="section"><a href="#fmt_s_and_t">Microsoft Streets and Trips 2002-2006 (s_and_t)</a></span></dt><dt><span class="section"><a href="#fmt_bcr">Motorrad Routenplaner (Map&Guide) .bcr files (bcr)</a></span></dt><dt><span class="section"><a href="#fmt_psp">MS PocketStreets 2002 Pushpin (psp)</a></span></dt><dt><span class="section"><a href="#fmt_tpg">National Geographic Topo .tpg (waypoints) (tpg)</a></span></dt><dt><span class="section"><a href="#fmt_tpo2">National Geographic Topo 2.x .tpo (tpo2)</a></span></dt><dt><span class="section"><a href="#fmt_tpo3">National Geographic Topo 3.x/4.x .tpo (tpo3)</a></span></dt><dt><span class="section"><a href="#fmt_navicache">Navicache.com XML (navicache)</a></span></dt><dt><span class="section"><a href="#fmt_nmn4">Navigon Mobile Navigator .rte files (nmn4)</a></span></dt><dt><span class="section"><a href="#fmt_dna">Navitrak DNA marker format (dna)</a></span></dt><dt><span class="section"><a href="#fmt_netstumbler">NetStumbler Summary File (text) (netstumbler)</a></span></dt><dt><span class="section"><a href="#fmt_nima">NIMA/GNIS Geographic Names File (nima)</a></span></dt><dt><span class="section"><a href="#fmt_nmea">NMEA 0183 sentences (nmea)</a></span></dt><dt><span class="section"><a href="#fmt_ozi">OziExplorer (ozi)</a></span></dt><dt><span class="section"><a href="#fmt_palmdoc">PalmDoc Output (palmdoc)</a></span></dt><dt><span class="section"><a href="#fmt_pathaway">PathAway Database for Palm/OS (pathaway)</a></span></dt><dt><span class="section"><a href="#fmt_quovadis">Quovadis (quovadis)</a></span></dt><dt><span class="section"><a href="#fmt_cup">See You flight analysis data (cup)</a></span></dt><dt><span class="section"><a href="#fmt_sportsim">Sportsim track files (part of zipped .ssz files) (sportsim)</a></span></dt><dt><span class="section"><a href="#fmt_stmsdf">Suunto Trek Manager (STM) .sdf files (stmsdf)</a></span></dt><dt><span class="section"><a href="#fmt_stmwpp">Suunto Trek Manager (STM) WaypointPlus files (stmwpp)</a></span></dt><dt><span class="section"><a href="#fmt_openoffice">Tab delimited fields useful for OpenOffice, Ploticus etc. (openoffice)</a></span></dt><dt><span class="section"><a href="#fmt_text">Textual Output (text)</a></span></dt><dt><span class="section"><a href="#fmt_tomtom">TomTom POI file (tomtom)</a></span></dt><dt><span class="section"><a href="#fmt_tmpro">TopoMapPro Places File (tmpro)</a></span></dt><dt><span class="section"><a href="#fmt_dmtlog">TrackLogs digital mapping (.trl) (dmtlog)</a></span></dt><dt><span class="section"><a href="#fmt_tiger">U.S. Census Bureau Tiger Mapping Service (tiger)</a></span></dt><dt><span class="section"><a href="#fmt_unicsv">Universal csv with field structure in first line (unicsv)</a></span></dt><dt><span class="section"><a href="#fmt_vcard">Vcard Output (for iPod) (vcard)</a></span></dt><dt><span class="section"><a href="#fmt_vitosmt">Vito Navigator II tracks (vitosmt)</a></span></dt><dt><span class="section"><a href="#fmt_wfff">WiFiFoFum 2.0 for PocketPC XML (wfff)</a></span></dt><dt><span class="section"><a href="#fmt_wbt-bin">Wintec WBT-100/200 Binary file format (wbt-bin)</a></span></dt><dt><span class="section"><a href="#fmt_wbt">Wintec WBT-100/200 GPS Download (wbt)</a></span></dt><dt><span class="section"><a href="#fmt_yahoo">Yahoo Geocode API data (yahoo)</a></span></dt></dl></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_xcsv"></a>? Character Separated Values (xcsv)</h2></div></div></div><p>
+ </p><table class="simplelist" border="0" summary="Simple list"><tr><td>-i gpx</td></tr><tr><td>-f saxony_in_summer_2004.gpx -f austria_2005.gpx</td></tr><tr><td>-i gdb</td></tr><tr><td>-f croatia_2006.gdb</td></tr><tr><td>-x nuketypes,waypoints,routes</td></tr><tr><td>-x track,pack,split,title="LOG # %Y%m%d"</td></tr></table></div></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="The_Formats"></a>Chapter 3. The Formats</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#fmt_xcsv">? Character Separated Values (xcsv)</a></span></dt><dt><span class="section"><a href="#fmt_alantrl">Alan Map500 tracklogs (.trl) (alantrl)</a></span></dt><dt><span class="section"><a href="#fmt_alanwpr">Alan Map500 waypoints and routes (.wpr) (alanwpr)</a></span></dt><dt><span class="section"><a href="#fmt_tabsep">All database fields on one tab-separated line (tabsep)</a></span></dt><dt><span class="section"><a href="#fmt_baroiq">Brauniger IQ Series Barograph Download (baroiq)</a></span></dt><dt><span class="section"><a href="#fmt_cambridge">Cambridge/Winpilot glider software (cambridge)</a></span></dt><dt><span class="section"><a href="#fmt_cst">CarteSurTable data file (cst)</a></span></dt><dt><span class="section"><a href="#fmt_cetus">Cetus for Palm/OS (cetus)</a></span></dt><dt><span class="section"><a href="#fmt_coastexp">CoastalExplorer XML (coastexp)</a></span></dt><dt><span class="section"><a href="#fmt_csv">Comma separated values (csv)</a></span></dt><dt><span class="section"><a href="#fmt_compegps">CompeGPS data files (.wpt/.trk/.rte) (compegps)</a></span></dt><dt><span class="section"><a href="#fmt_copilot">CoPilot Flight Planner for Palm/OS (copilot)</a></span></dt><dt><span class="section"><a href="#fmt_coto">cotoGPS for Palm/OS (coto)</a></span></dt><dt><span class="section"><a href="#fmt_custom">Custom "Everything" Style (custom)</a></span></dt><dt><span class="section"><a href="#fmt_axim_gpb">Dell Axim Navigation System (.gpb) file format (axim_gpb)</a></span></dt><dt><span class="section"><a href="#fmt_an1">DeLorme .an1 (drawing) file (an1)</a></span></dt><dt><span class="section"><a href="#fmt_gpl">DeLorme GPL (gpl)</a></span></dt><dt><span class="section"><a href="#fmt_saplus">DeLorme Street Atlas Plus (saplus)</a></span></dt><dt><span class="section"><a href="#fmt_saroute">DeLorme Street Atlas Route (saroute)</a></span></dt><dt><span class="section"><a href="#fmt_xmap">DeLorme XMap HH Native .WPT (xmap)</a></span></dt><dt><span class="section"><a href="#fmt_xmap2006">DeLorme XMap/SAHH 2006 Native .TXT (xmap2006)</a></span></dt><dt><span class="section"><a href="#fmt_xmapwpt">DeLorme XMat HH Street Atlas USA .WPT (PPC) (xmapwpt)</a></span></dt><dt><span class="section"><a href="#fmt_easygps">EasyGPS binary format (easygps)</a></span></dt><dt><span class="section"><a href="#fmt_igc">FAI/IGC Flight Recorder Data Format (igc)</a></span></dt><dt><span class="section"><a href="#fmt_gpssim">Franson GPSGate Simulation (gpssim)</a></span></dt><dt><span class="section"><a href="#fmt_fugawi">Fugawi (fugawi)</a></span></dt><dt><span class="section"><a href="#fmt_garmin301">Garmin 301 Custom position and heartrate (garmin301)</a></span></dt><dt><span class="section"><a href="#fmt_glogbook">Garmin Logbook XML (glogbook)</a></span></dt><dt><span class="section"><a href="#fmt_gdb">Garmin MapSource - gdb (gdb)</a></span></dt><dt><span class="section"><a href="#fmt_mapsource">Garmin MapSource - mps (mapsource)</a></span></dt><dt><span class="section"><a href="#fmt_garmin_txt">Garmin MapSource - txt (tab delimited) (garmin_txt)</a></span></dt><dt><span class="section"><a href="#fmt_pcx">Garmin PCX5 (pcx)</a></span></dt><dt><span class="section"><a href="#fmt_garmin_poi">Garmin POI database (garmin_poi)</a></span></dt><dt><span class="section"><a href="#fmt_garmin">Garmin serial/USB protocol (garmin)</a></span></dt><dt><span class="section"><a href="#fmt_gtrnctr">Garmin Training Centerxml (gtrnctr)</a></span></dt><dt><span class="section"><a href="#fmt_geo">Geocaching.com .loc (geo)</a></span></dt><dt><span class="section"><a href="#fmt_gcdb">GeocachingDB for Palm/OS (gcdb)</a></span></dt><dt><span class="section"><a href="#fmt_geonet">GEOnet Names Server (GNS) (geonet)</a></span></dt><dt><span class="section"><a href="#fmt_geoniche">GeoNiche .pdb (geoniche)</a></span></dt><dt><span class="section"><a href="#fmt_kml">Google Earth (Keyhole) Markup Language (kml)</a></span></dt><dt><span class="section"><a href="#fmt_google">Google Maps XML (google)</a></span></dt><dt><span class="section"><a href="#fmt_gpilots">GpilotS (gpilots)</a></span></dt><dt><span class="section"><a href="#fmt_gtm">GPS TrackMaker (gtm)</a></span></dt><dt><span class="section"><a href="#fmt_arc">GPSBabel arc filter file (arc)</a></span></dt><dt><span class="section"><a href="#fmt_gpsdrive">GpsDrive Format (gpsdrive)</a></span></dt><dt><span class="section"><a href="#fmt_gpsdrivetrack">GpsDrive Format for Tracks (gpsdrivetrack)</a></span></dt><dt><span class="section"><a href="#fmt_gpsman">GPSman (gpsman)</a></span></dt><dt><span class="section"><a href="#fmt_gpspilot">GPSPilot Tracker for Palm/OS (gpspilot)</a></span></dt><dt><span class="section"><a href="#fmt_gpsutil">gpsutil (gpsutil)</a></span></dt><dt><span class="section"><a href="#fmt_gpx">GPX XML (gpx)</a></span></dt><dt><span class="section"><a href="#fmt_hiketech">HikeTech (hiketech)</a></span></dt><dt><span class="section"><a href="#fmt_holux">Holux (gm-100) .wpo Format (holux)</a></span></dt><dt><span class="section"><a href="#fmt_hsandv">HSA Endeavour Navigator export File (hsandv)</a></span></dt><dt><span class="section"><a href="#fmt_html">HTML Output (html)</a></span></dt><dt><span class="section"><a href="#fmt_ignrando">IGN Rando track files (ignrando)</a></span></dt><dt><span class="section"><a href="#fmt_ktf2">Kartex 5 Track File (ktf2)</a></span></dt><dt><span class="section"><a href="#fmt_kwf2">Kartex 5 Waypoint File (kwf2)</a></span></dt><dt><span class="section"><a href="#fmt_kompass_tk">Kompass (DAV) Track (.tk) (kompass_tk)</a></span></dt><dt><span class="section"><a href="#fmt_kompass_wp">Kompass (DAV) Waypoints (.wp) (kompass_wp)</a></span></dt><dt><span class="section"><a href="#fmt_psitrex">KuDaTa PsiTrex text (psitrex)</a></span></dt><dt><span class="section"><a href="#fmt_lowranceusr">Lowrance USR (lowranceusr)</a></span></dt><dt><span class="section"><a href="#fmt_maggeo">Magellan Explorist Geocaching (maggeo)</a></span></dt><dt><span class="section"><a href="#fmt_mapsend">Magellan Mapsend (mapsend)</a></span></dt><dt><span class="section"><a href="#fmt_magnav">Magellan NAV Companion for Palm/OS (magnav)</a></span></dt><dt><span class="section"><a href="#fmt_magellanx">Magellan SD files (as for eXplorist) (magellanx)</a></span></dt><dt><span class="section"><a href="#fmt_magellan">Magellan SD files (as for Meridian) (magellan)</a></span></dt><dt><span class="section"><a href="#fmt_magellan1">Magellan serial protocol (magellan)</a></span></dt><dt><span class="section"><a href="#fmt_tef">Map&Guide 'TourExchangeFormat' XML (tef)</a></span></dt><dt><span class="section"><a href="#fmt_mag_pdb">Map&Guide to Palm/OS exported files (.pdb) (mag_pdb)</a></span></dt><dt><span class="section"><a href="#fmt_mapconverter">Mapopolis.com Mapconverter CSV (mapconverter)</a></span></dt><dt><span class="section"><a href="#fmt_mxf">MapTech Exchange Format (mxf)</a></span></dt><dt><span class="section"><a href="#fmt_msroute">Microsoft AutoRoute 2002 (pin/route reader) (msroute)</a></span></dt><dt><span class="section"><a href="#fmt_msroute1">Microsoft Streets and Trips (pin/route reader) (msroute)</a></span></dt><dt><span class="section"><a href="#fmt_s_and_t">Microsoft Streets and Trips 2002-2006 (s_and_t)</a></span></dt><dt><span class="section"><a href="#fmt_bcr">Motorrad Routenplaner (Map&Guide) .bcr files (bcr)</a></span></dt><dt><span class="section"><a href="#fmt_psp">MS PocketStreets 2002 Pushpin (psp)</a></span></dt><dt><span class="section"><a href="#fmt_tpg">National Geographic Topo .tpg (waypoints) (tpg)</a></span></dt><dt><span class="section"><a href="#fmt_tpo2">National Geographic Topo 2.x .tpo (tpo2)</a></span></dt><dt><span class="section"><a href="#fmt_tpo3">National Geographic Topo 3.x/4.x .tpo (tpo3)</a></span></dt><dt><span class="section"><a href="#fmt_navicache">Navicache.com XML (navicache)</a></span></dt><dt><span class="section"><a href="#fmt_nmn4">Navigon Mobile Navigator .rte files (nmn4)</a></span></dt><dt><span class="section"><a href="#fmt_dna">Navitrak DNA marker format (dna)</a></span></dt><dt><span class="section"><a href="#fmt_netstumbler">NetStumbler Summary File (text) (netstumbler)</a></span></dt><dt><span class="section"><a href="#fmt_nima">NIMA/GNIS Geographic Names File (nima)</a></span></dt><dt><span class="section"><a href="#fmt_nmea">NMEA 0183 sentences (nmea)</a></span></dt><dt><span class="section"><a href="#fmt_ozi">OziExplorer (ozi)</a></span></dt><dt><span class="section"><a href="#fmt_palmdoc">PalmDoc Output (palmdoc)</a></span></dt><dt><span class="section"><a href="#fmt_pathaway">PathAway Database for Palm/OS (pathaway)</a></span></dt><dt><span class="section"><a href="#fmt_quovadis">Quovadis (quovadis)</a></span></dt><dt><span class="section"><a href="#fmt_raymarine">Raymarine Waypoint File (.rwf) (raymarine)</a></span></dt><dt><span class="section"><a href="#fmt_cup">See You flight analysis data (cup)</a></span></dt><dt><span class="section"><a href="#fmt_sportsim">Sportsim track files (part of zipped .ssz files) (sportsim)</a></span></dt><dt><span class="section"><a href="#fmt_stmsdf">Suunto Trek Manager (STM) .sdf files (stmsdf)</a></span></dt><dt><span class="section"><a href="#fmt_stmwpp">Suunto Trek Manager (STM) WaypointPlus files (stmwpp)</a></span></dt><dt><span class="section"><a href="#fmt_openoffice">Tab delimited fields useful for OpenOffice, Ploticus etc. (openoffice)</a></span></dt><dt><span class="section"><a href="#fmt_text">Textual Output (text)</a></span></dt><dt><span class="section"><a href="#fmt_tomtom">TomTom POI file (tomtom)</a></span></dt><dt><span class="section"><a href="#fmt_tmpro">TopoMapPro Places File (tmpro)</a></span></dt><dt><span class="section"><a href="#fmt_dmtlog">TrackLogs digital mapping (.trl) (dmtlog)</a></span></dt><dt><span class="section"><a href="#fmt_tiger">U.S. Census Bureau Tiger Mapping Service (tiger)</a></span></dt><dt><span class="section"><a href="#fmt_unicsv">Universal csv with field structure in first line (unicsv)</a></span></dt><dt><span class="section"><a href="#fmt_vcard">Vcard Output (for iPod) (vcard)</a></span></dt><dt><span class="section"><a href="#fmt_vitosmt">Vito Navigator II tracks (vitosmt)</a></span></dt><dt><span class="section"><a href="#fmt_wfff">WiFiFoFum 2.0 for PocketPC XML (wfff)</a></span></dt><dt><span class="section"><a href="#fmt_wbt-bin">Wintec WBT-100/200 Binary file format (wbt-bin)</a></span></dt><dt><span class="section"><a href="#fmt_wbt">Wintec WBT-100/200 GPS Download (wbt)</a></span></dt><dt><span class="section"><a href="#fmt_yahoo">Yahoo Geocode API data (yahoo)</a></span></dt></dl></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_xcsv"></a>? Character Separated Values (xcsv)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is a very flexible module that can be used to read or write
nearly any plain-text record-based waypoint file. This flexibility is
achieved by combining this format with "style" files that describe the
with the obvious exception of the <code class="option">style</code> option.
Those formats are all based on style files that can be found in
the "style" directory in the GPSBabel source distribution.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_style"></a>style option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_style"></a><code class="option">style</code> option</h3></div></div></div><p>
Full path to XCSV style file.
</p><p>
This option specifies the style file that defines the records to be read on
</p><p>
For information on the format of xcsv style files, see
<a href="#Styles" title="Appendix C. GPSBabel XCSV Style Files">Appendix C, <i>GPSBabel XCSV Style Files</i></a>.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_snlen"></a>snlen option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_snlen"></a><code class="option">snlen</code> option</h3></div></div></div><p>
Max synthesized shortname length.
</p><p>
This option specifies the maximum allowable length for a short name on
output. This option overrides the style file.
</p><p>
Valid values for this option are 0 (off) and 1 (on).
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_snwhite"></a>snwhite option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_snwhite"></a><code class="option">snwhite</code> option</h3></div></div></div><p>
Allow whitespace synth. shortnames.
</p><p>
When this option is specified, GPSBabel will allow whitespace (spaces or tabs)
in generated short names. This option overrides the style file.
</p><p>
Valid values for this option are 0 (off) and 1 (on).
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_snupper"></a>snupper option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_snupper"></a><code class="option">snupper</code> option</h3></div></div></div><p>
UPPERCASE synth. shortnames.
</p><p>
When this option is specified, GPSBabel will make all short names contain
only UPPERCASE characters. This option overrides the style file.
</p><p>
Valid values for this option are 0 (off) and 1 (on).
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_snunique"></a>snunique option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_snunique"></a><code class="option">snunique</code> option</h3></div></div></div><p>
Make synth. shortnames unique.
</p><p>
When this option is specified, GPSBabel will ensure that all short names are
unique within the output file. This option overrides the style file.
</p><p>
Valid values for this option are 0 (off) and 1 (on).
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_urlbase"></a>urlbase option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_urlbase"></a><code class="option">urlbase</code> option</h3></div></div></div><p>
Basename prepended to URL on output.
</p><p>
This option specifies the base name to prepend to a URL on output. This
might be useful if an input file contains URLs in a relative format and you
need them to be in an absolute format.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_prefer_shortnames"></a>prefer_shortnames option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_prefer_shortnames"></a><code class="option">prefer_shortnames</code> option</h3></div></div></div><p>
Use shortname instead of description.
</p><p>
This option causes GPSBabel to use the short name of the waypoint instead
of the description. This overrides the style file.
</p><p>
Valid values for this option are 0 (off) and 1 (on).
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tabsep"></a>All database fields on one tab-separated line (tabsep)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_xcsv_o_datum"></a><code class="option">datum</code> option</h3></div></div></div><p>
+ GPS datum (def. WGS 84).
+ </p><p>
+This option specifies the GPS datum to be used on read or write. Valid values for this
+option are listed in <a href="#Datums" title="Appendix A. Supported Datums">Appendix A, <i>Supported Datums</i></a>.
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_alantrl"></a>Alan Map500 tracklogs (.trl) (alantrl)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
+ read and write tracks
+ </p></li></ul></div><p>
+GPSBabel supports .wpr and .trl files for Alan Map500 devices running operating
+system versions 2.xx.
+</p><p>
+.trl contain files tracklogs. If you use a CF-Card based
+operating system, tracklog files must have a <code class="filename">.TRL</code> extension when
+copied to the CF-Card. The default filename is <code class="filename">TEMP_TRK.TRL</code>.
+Only one <code class="filename">.TRL</code> file may be present.
+</p><p>
+Alan's operating system 3.0 for Map500 is not supported yet.
+At the time of this writing, OS3 is still beta.
+Documentation on the new dataformats is sparse.
+</p><p>
+The Alan Map500 handheld GPSr is identical to the Holux GM101.
+This GPSBabel module has only been tested against the Alan Map500.
+Still, if you use a GM101, GPSBabel will probably be able to convert
+your waypoints, routes and tracklogs.
+</p><p>
+For more information on the Alan Map500 visit
+<a href="http://www.alan-electronics.de/gps/gpsuebersicht.php3" target="_top">Alan Germany</a>. There is very informative <a href="http://www.alan-germany.de/forum/index.php" target="_top">forum</a>, too. The forum language is German but posts in English will be answered, too.
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_alanwpr"></a>Alan Map500 waypoints and routes (.wpr) (alanwpr)</h2></div></div></div><p class="fmtcapshdr">
+ This format can...
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
+ read and write waypoints
+ </p></li><li><p class="fmtcapsitem">
+ read and write routes
+ </p></li></ul></div><p>
+GPSBabel supports .wpr and .trl files for Alan Map500 devices running operating
+system versions 2.xx.
+</p><p>
+.wpr files contain waypoints and routes. If you use a CF-Card based
+operating system, waypoint files must have a <code class="filename">.WPR</code> extension when
+copied to the CF-Card. The default filename is <code class="filename">TEMPWPRT.WPR</code>.
+Only one <code class="filename">.WPR</code> file may be present.
+</p><p>
+Alan's operating system 3.0 for Map500 is not supported yet.
+At the time of this writing, OS3 is still beta.
+Documentation on the new dataformats is sparse.
+</p><p>
+The Alan Map500 handheld GPSr is identical to the Holux GM101.
+This GPSBabel module has only been tested against the Alan Map500.
+Still, if you use a GM101, GPSBabel will probably be able to convert
+your waypoints, routes and tracklogs.
+</p><p>
+For more information on the Alan Map500 visit
+<a href="http://www.alan-electronics.de/gps/gpsuebersicht.php3" target="_top">Alan Germany</a>. There is very informative <a href="http://www.alan-germany.de/forum/index.php" target="_top">forum</a>, too. Forum language is German but posts in English will be answered,
+too.
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tabsep"></a>All database fields on one tab-separated line (tabsep)</h2></div></div></div><p class="fmtcapshdr">
+ This format can...
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>
</p><p>
For a list of fields, see the style/tabsep.style file in the GPSBabel source
distribution.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_baroiq"></a>Brauniger IQ Series Barograph Download (baroiq)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_baroiq"></a>Brauniger IQ Series Barograph Download (baroiq)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>Serial download protocol for the Brauniger IQ series of
+ </p></li></ul></div><p>Serial download protocol for the <a href="http://www.brauniger.com" target="_top">Brauniger</a> IQ series of
barograph recording flight instruments. This format creates a
track of altitude vs time which can be merged with a GPS track
-of the same flight to create a three dimensional IGC file. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_cambridge"></a>Cambridge/Winpilot glider software (cambridge)</h2></div></div></div><p>
+of the same flight to create a three dimensional IGC file. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_cambridge"></a>Cambridge/Winpilot glider software (cambridge)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
-</p><p>Support for Cambridge/Winpilot flight analysis and planning software for
- glider pilots. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_cst"></a>CarteSurTable data file (cst)</h2></div></div></div><p>
+</p><p>Support for
+<a href="http://www.cambridge-aero.com/products.htm" target="_top">Cambridge</a>
+and <a href="http://www.winpilot.com" target="_top"> Winpilot</a>
+ flight analysis and planning software for glider pilots. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_cst"></a>CarteSurTable data file (cst)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read routes
- </p></li></ul></div><p>
- </p><p> With this format we can read CarteSurTable data files.
-CarteSurTable is a shareware program widely used in France. The data
+ </p></li></ul></div><p> With this format we can read <a href="http://phgiraud.free.fr/CarteSurTable/CarteSurTable.htm" target="_top">CarteSurTable</a> data files.
+ <a href="http://phgiraud.free.fr/CarteSurTable/CarteSurTable.htm" target="_top">CarteSurTable</a> is a shareware program widely used in France. The data
inside have to be seen as a mixture of a waypoints list, one route and
-several tracks. <a href="http://phgiraud.free.fr/CarteSurTable/CarteSurTable.htm" target="_top">phgiraud.free.fr</a>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_cetus"></a>Cetus for Palm/OS (cetus)</h2></div></div></div><p>
+several tracks.
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_cetus"></a>Cetus for Palm/OS (cetus)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read tracks
- </p></li></ul></div><p>
- </p><p>Cetus GPS <a href="http://www.cetusgps.dk/" target="_top">www.cetusgps.dk</a> is a program for
+ </p></li></ul></div><p><a href="http://www.cetusgps.dk/" target="_top">Cetus GPS</a> is a program for
Palm/OS. Working with Ron Parker and Kjeld Jensen, we can now read
-and write files for that program.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_cetus_o_dbname"></a>dbname option</h3></div></div></div><p>
+and write files for that program.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_cetus_o_dbname"></a><code class="option">dbname</code> option</h3></div></div></div><p>
Database name.
</p><p>
This option specifies the database name for the output file. This name is
not the same thing as the file name on your computer; this is the name that
appears in the file browser on your handheld.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_cetus_o_appendicon"></a>appendicon option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_cetus_o_appendicon"></a><code class="option">appendicon</code> option</h3></div></div></div><p>
Append icon_descr to description.
</p><p>
This option will add the icon description to the end of the waypoint
important information about the waypoint. For example, the icon might be
"found geocache" or "unfound geocache"; it might be useful to know that when
looking at a list of icons in Cetus.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_coastexp"></a>CoastalExplorer XML (coastexp)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_coastexp"></a>CoastalExplorer XML (coastexp)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>This is the format used by CoastalExplorer (tm). The
+ </p></li></ul></div><p>This is the format used by <span class="productname">CoastalExplorer</span>™. The
format is XML with items uniquely identified by Windows-style UUIDs.
<a href="http://www.rosepointnav.com" target="_top">http://www.rosepointnav.com</a>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_csv"></a>Comma separated values (csv)</h2></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_csv"></a>Comma separated values (csv)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p> There are a billion variants of Comma Separated Value
-data. This is the one that makes Delorme S&A Deluxe 9 happy. It's
+data. This is the one that makes <a href="http://www.delorme.com" target="_top">Delorme</a> <span class="productname">S&A Deluxe 9</span>™ happy. It's
also a very simple program and useful for many other programs like
-spreadsheets.</p><p> CSV is also the correct format for Lowrance MapCreate,
+spreadsheets.</p><p> CSV is also the correct format for
+ <span class="productname">Lowrance MapCreate</span>™,
their commercial mapping program, or GDM6 (their free waypoint
manager) for iFinder which is available at <a href="http://www.lowrance.com/Software/GDM6/Default.asp" target="_top">lowrance.com</a>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_compegps"></a>CompeGPS data files (.wpt/.trk/.rte) (compegps)</h2></div></div></div><p>
+ </p><p>
+ On write, this format writes simple "latitude, longitude" pairs, but
+on read it will read anything supported by our <a href="#style_def_lathuman" title="LAT_HUMAN_READABLE">human readable</a> definition.
+ </p><p>
+ For something-separated data that has headers identifying the various
+ fields, see our <a href="#fmt_unicsv" title="Universal csv with field structure in first line (unicsv)">universal csv</a> format.
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_compegps"></a>CompeGPS data files (.wpt/.trk/.rte) (compegps)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
</p></li></ul></div><p>
- </p><p>
-These data files are "character" separated text files like
+<span class="productname">CompeGPS</span>™ data files are "character" separated text files like
the pcx format. "Character" means special data lines can have their
own separator.
</p><p>
</p><p>
For more information please have a look at
<a href="http://www.compegps.com" target="_top">http://www.compegps.com</a>
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_compegps_o_deficon"></a>deficon option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_compegps_o_deficon"></a><code class="option">deficon</code> option</h3></div></div></div><p>
Default icon name.
</p><p>
This option specifies the default icon name on output.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_compegps_o_index"></a>index option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_compegps_o_index"></a><code class="option">index</code> option</h3></div></div></div><p>
Index of route/track to write (if more the one in source).
</p><p>
Because this format supports only one route or track, this option may be used
tracks read from a more expressive format. If you have, say, a
<a href="#fmt_gpx" title="GPX XML (gpx)">gpx</a> file that contains two routes, you may
use this option to write them one at a time to individual files.
-</p><pre class="screen">gpsbabel -i gpx -f routes.gpx -o compegps,index=1 -F route1.txt -o compegps,index=2 -F route2.txt</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_compegps_o_radius"></a>radius option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f routes.gpx -o compegps,index=1 -F route1.txt -o compegps,index=2 -F route2.txt</code></strong></p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_compegps_o_radius"></a><code class="option">radius</code> option</h3></div></div></div><p>
Give points (waypoints/route points) a default radius (proximity).
</p><p>
This option specifies the default proximity for waypoints and route points.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_compegps_o_snlen"></a>snlen option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_compegps_o_snlen"></a><code class="option">snlen</code> option</h3></div></div></div><p>
Length of generated shortnames (default 16).
</p><p>
This option specifies the default length for short names generated on output.
The default length is 16.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_copilot"></a>CoPilot Flight Planner for Palm/OS (copilot)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_copilot"></a>CoPilot Flight Planner for Palm/OS (copilot)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p> This code is mostly intended to convert CoPilot Flight
-Planner for Palmd/OS atabases into other formats. You probably should
+ </p></li></ul></div><p> This code is mostly intended to convert <a href="http://xcski.com/~ptomblin/CoPilot/" target="_top">CoPilot Flight
+Planner for Palm/OS"</a> databases into other formats. You probably should
not use this to write CoPilot databases, although the code is there,
-because GPSBabel doesn't convert magnetic declination values.</p><p> Questions, bug reports, etc, to ptomblin at
+because GPSBabel doesn't convert magnetic declination values.</p><p>This version now reads all CoPilot file versions up to 4, but only
+writes version 4 files. If you have a need for a version flag, please let
+me know.</p><p> Questions, bug reports, etc, to ptomblin at
xcski.com</p><p>
<a href="http://xcski.com/~ptomblin/CoPilot/" target="_top">http://xcski.com/~ptomblin/CoPilot/</a>
and <a href="http://navaid.com/CoPilot/" target="_top">http://navaid.com/CoPilot</a>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_coto"></a>cotoGPS for Palm/OS (coto)</h2></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_coto"></a>cotoGPS for Palm/OS (coto)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read tracks
- </p></li></ul></div><p>
- </p><p>
-This format supports <span class="productname">cotoGPS</span>™, a Palm GPS program.
+ </p></li></ul></div><p>
+This format supports <span class="productname">cotoGPS</span>™, a <span class="productname">Palm</span>™ GPS program.
It can read both track and marker (waypoint) files. It is currently unable
to write track files, so only marker files can be written. The marker
categories are written to and read from the icon description. The 'Not
Contributed by Tobias Minich.
</p><p>
<a href="http://core.de/~coto/projects/cotogps/" target="_top">cotoGPS</a>
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_coto_o_zerocat"></a>zerocat option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_coto_o_zerocat"></a><code class="option">zerocat</code> option</h3></div></div></div><p>
Name of the 'unassigned' category.
</p><p>
This option specifies a name for the "Not Assigned" category in the Palm
database. The default is "Not Assigned".
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_custom"></a>Custom "Everything" Style (custom)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_custom"></a>Custom "Everything" Style (custom)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>
To understand the contents of this file, look at the
<code class="filename">style/custom.style</code> file in the GPSBabel source
distribution as well as <a href="#Styles" title="Appendix C. GPSBabel XCSV Style Files">Appendix C, <i>GPSBabel XCSV Style Files</i></a>.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_axim_gpb"></a>Dell Axim Navigation System (.gpb) file format (axim_gpb)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_axim_gpb"></a>Dell Axim Navigation System (.gpb) file format (axim_gpb)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read tracks
</p></li></ul></div><p>
- </p><p>
This format reads the binary (.gpb) track logs recorded on
- Dell Axim Navigation Systems.
+ <a href="http://www.dell.com" target="_top">Dell</a> Axim Navigation Systems.
</p><p>
This is a read-only format for now as the format was reverse
engineered and there are many unknown bytes. We can successfully
extract the common GPS data.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_an1"></a>DeLorme .an1 (drawing) file (an1)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_an1"></a>DeLorme .an1 (drawing) file (an1)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
- read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
+ write tracks
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>
-This format supports the DeLorme ".an1" drawing file format. It can
+ </p></li></ul></div><p>
+This format supports the <a href="http://www.delorme.com" target="_top">DeLorme</a> ".an1" drawing file format. It can
currently be used to either read or write drawing files. If you use
this format to create drawing files with routes or waypoints from another
source, by default it will create "Red Flag" symbols for waypoints, and
thick red lines for routes or tracks. It is possible to merge two drawing
layers by doing something like this:
-</p><pre class="screen">gpsbabel -i an1 -f one.an1 -f two.an1 -o an1 -F merged.an1</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i an1 -f one.an1 -f two.an1 -o an1 -F merged.an1</code></strong></p><p>
In this case, the merged data will contain all of the
properties of the original data.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_type"></a>type option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_type"></a><code class="option">type</code> option</h3></div></div></div><p>
Type of .an1 file.
</p><p> This option specifies the type of the drawing layer
to be created. The supported values are "drawing", "road", "trail",
"waypoint", or "track". If you do not specify a type, the default
will be either the type of the previous an1 file or "drawing" if there
is no previous file. This lets you merge, for example, two road layers
-without having to specify "type=road" for the output. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_road"></a>road option</h3></div></div></div><p>
+without having to specify "type=road" for the output. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_road"></a><code class="option">road</code> option</h3></div></div></div><p>
Road type changes.
</p><p>
If you are creating a road layer, you may use the "road" option, which
local roads, but may be edited with the drawing tools in Street Atlas.
</p><p>
This option has a special format that is best demonstrated by example:
-</p><pre class="screen">"road=I-599!limited!Beecher St.!major" </pre><p>
+</p><pre class="screen"> "road=I-599!limited!Beecher St.!major" </pre><p>
This option will cause any road named "I-599" to become a limited-access
highway and any road named "Beecher St." to become a major connector. Note
that roads that have had their types changed in this way are not editable
<a href="http://www.gpsbabel.org/formats/delorme-new-interstate/" target="_top">how
to create an onramp for a limited access highway in Street Atlas USA
using GPSBabel.</a>
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_nogc"></a>nogc option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_nogc"></a><code class="option">nogc</code> option</h3></div></div></div><p>
Do not add geocache data to description.
</p><p>
If your original data contains geocaching-specific information such as
difficulty and terrain, GPSBabel will automatically include that information
in the waypoint descriptions in the generated drawing file. If you do not
want that, specify the "nogc" option on the command line:
-</p><pre class="screen">gpsbabel -i gpx -f 12345.gpx -o an1,nogc -F 12345.an1</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_deficon"></a>deficon option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f 12345.gpx -o an1,nogc -F 12345.an1</code></strong></p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_deficon"></a><code class="option">deficon</code> option</h3></div></div></div><p>
Symbol to use for point data.
</p><p>
This option allows you to specify which symbol to use for points that
any symbol name you can put in a DeLorme export file. To find the name
of a specific symbol in Street Atlas, let the mouse pointer hover over
it for a few seconds and the name will be displayed.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_color"></a>color option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_color"></a><code class="option">color</code> option</h3></div></div></div><p>
Color for lines or mapnotes.
</p><p>This option allows you to specify the color for
line or mapnote data. It accepts color names of the form "#FF0000" (red) or any
of the color names from the Cascading Style Sheets (CSS)
-specification.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_zoom"></a>zoom option</h3></div></div></div><p>
+specification.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_zoom"></a><code class="option">zoom</code> option</h3></div></div></div><p>
Zoom level to reduce points.
</p><p>
This option specifies at what zoom level Street Atlas will begin showing
disable this feature. Setting it to anything but the default will override
the zoom level specified on any waypoints that were read from an existing
an1 file; this is by design.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_wpt_type"></a>wpt_type option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_wpt_type"></a><code class="option">wpt_type</code> option</h3></div></div></div><p>
Waypoint type.
</p><p>
This option specifies how to represent point data in the draw file.
product. Note that this means that the .an1 file you generate will not work
on any computer that does not have those images in the same place; this is
part of the design of the an1 format and cannot be avoided.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_radius"></a>radius option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_an1_o_radius"></a><code class="option">radius</code> option</h3></div></div></div><p>
Radius for circles.
</p><p>
If the waypoint type is "circle", the "radius" option specifies
the radius of the circles. By default, this is in miles, but it may be
specified in kilometers by adding a 'k'. The default radius is 1/10 mile.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpl"></a>DeLorme GPL (gpl)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpl"></a>DeLorme GPL (gpl)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write tracks
- </p></li></ul></div><p>
- </p><p>This is the 'gpl' format as used in Delorme mapping
+ </p></li></ul></div><p>This is the 'gpl' format as used in Delorme mapping
products. It is a track format and contains little more than the
tracklog of a GPS that was attached while driving. <a href="http://www.frontiernet.net/~werner/gps/" target="_top">frontiernet.net</a>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_saplus"></a>DeLorme Street Atlas Plus (saplus)</h2></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_saplus"></a>DeLorme Street Atlas Plus (saplus)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
-</p><p> This format is for Street Atlas USA 2004 Plus.
+</p><p> This format is for Delorme Street Atlas USA 2004 Plus and later.
</p><p> For geocachers importing data from a tool like GSAK or
Spinner, import the file twice in XData. One will create a file with
the Cache description as a hyperlink on the flag. This can clutter up
The second time you import the file do not check any circle and in the
second to last column, change URL to none and then click next. Use the
same name you used the first time but add -Flag to it.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_saroute"></a>DeLorme Street Atlas Route (saroute)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_saroute"></a>DeLorme Street Atlas Route (saroute)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read tracks
- </p></li></ul></div><p>
- </p><p>
+ </p></li></ul></div><p>
This format reads route files from many Delorme mapping products.
It supports the anr, rte, and rtd formats as either tracks or
routes.</p><p> All options only apply to route files from newer (anr)
versions of DeLorme software; older versions didn't store the turn
information with the route.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_saroute_o_turns_important"></a>turns_important option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_saroute_o_turns_important"></a><code class="option">turns_important</code> option</h3></div></div></div><p>
Keep turns if simplify filter is used.
</p><p> This option only makes sense in
conjunction with the 'simplify' filter. It ensures that the route
simplification process will remove the points corresponding to turns
only after it has removed all other route points.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_saroute_o_turns_only"></a>turns_only option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_saroute_o_turns_only"></a><code class="option">turns_only</code> option</h3></div></div></div><p>
Only read turns; skip all other points.
</p><p> This option causes GPSBabel to read only the
waypoints associated with named turns. This should create a list of
-waypoints that correspond to the itinerary from Street Atlas.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_saroute_o_split"></a>split option</h3></div></div></div><p>
+waypoints that correspond to the itinerary from Street Atlas.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_saroute_o_split"></a><code class="option">split</code> option</h3></div></div></div><p>
Split into multiple routes at turns.
</p><p>This option causes GPSBabel to create separate
routes for each street, creating a new route at each turn point. For
obvious reasons, 'split' cannot be used at the same time as the
-'turns_only' or 'turns_important' options.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_saroute_o_controls"></a>controls option</h3></div></div></div><p>
+'turns_only' or 'turns_important' options.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_saroute_o_controls"></a><code class="option">controls</code> option</h3></div></div></div><p>
Read control points as waypoint/route/none.
</p><p>This option lets you read the control points
(start, end, vias, and stops) for your route as well as the route
named 'control points' containing just the control points in order.
Note that if your goal is to create an arc or other CSV file, you
should use 'none' (or not use this option, which is the same
-thing.)</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_saroute_o_times"></a>times option</h3></div></div></div><p>
+thing.)</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_saroute_o_times"></a><code class="option">times</code> option</h3></div></div></div><p>
Synthesize track times.
</p><p>This option causes GPSBabel to read the route as if
it were a track, synthesizing times starting from the current time, using
the estimated travel times specified in your route file (you can change your
-travel speeds in the DeLorme product you used to create the route file.)</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_xmap"></a>DeLorme XMap HH Native .WPT (xmap)</h2></div></div></div><p>
+travel speeds in the DeLorme product you used to create the route file.)</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_xmap"></a>DeLorme XMap HH Native .WPT (xmap)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
-</p><p>Delorme TopoUSA/XMap Conduit is one of the billion CSV
-variants mentioned above. It's just like S&A with the addition of
+</p><p>Delorme TopoUSA/XMap Conduit is one of the bazillion
+<a href="#fmt_csv" title="Comma separated values (csv)">CSV variants</a>
+variants mentioned above. It's just like Delorme Streets & Atlas with the addition of
a completely pointless line at the beginning and end of the file. This
is the format used to hot-sync to XMap from withing TopoUSA. Done with
-help of Dan Edwards.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_xmap2006"></a>DeLorme XMap/SAHH 2006 Native .TXT (xmap2006)</h2></div></div></div><p>
+help of Dan Edwards.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_xmap2006"></a>DeLorme XMap/SAHH 2006 Native .TXT (xmap2006)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
-</p><p>Delorme XMap2006 Conduit is just like XMap, except there are
+</p><p>Delorme XMap2006 Conduit is just like
+<a href="#fmt_xmap" title="DeLorme XMap HH Native .WPT (xmap)">XMap</a>
+, except there are
no spaces between fields and the coordinate format is slightly
different. The completely pointless header and footer lines
are the same, at least. Use this to create the XMapHHWptsSend.txt
- file needed to sync to Street Atlas Handheld 2006.</p><p>Note that in order to keep from creating duplicates on your handheld, you must first remove the file "XMapWptsDB" from your handheld, restart SAHH2006 on the handheld to create an empty database, and THEN sync the new file. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_xmapwpt"></a>DeLorme XMat HH Street Atlas USA .WPT (PPC) (xmapwpt)</h2></div></div></div><p>
+ file needed to sync to Street Atlas Handheld 2006.</p><p>Note that in order to keep from creating duplicates on your handheld, you must first remove the file "XMapWptsDB" from your handheld, restart SAHH2006 on the handheld to create an empty database, and THEN sync the new file. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_xmapwpt"></a>DeLorme XMat HH Street Atlas USA .WPT (PPC) (xmapwpt)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>
Delorme XMapHandHeld Street Atlas USA is another of the
-billion CSV variants. This is the format used by XmapHH SA USA on (at
-least) PocketPC O/S.
+billion <a href="#fmt_csv" title="Comma separated values (csv)"> CSV variants</a>.
+This is the format used by XmapHH SA USA on (at least) PocketPC O/S.
</p><p>
This XMap is not the same as the simpler
<a href="#fmt_xmap" title="DeLorme XMap HH Native .WPT (xmap)">XMap</a> format, which is used with Topo USA 4.0
It should also be noted that <span class="emphasis"><em>reading</em></span> multiple files
is indeed possible, but if you have more than a few points, it can be a task.
For example:
-</p><pre class="screen">gpsbabel -i xmapwpt -f Xmap1.wpt -f Xmap2.wpt -o mapsend -F mapsend.wpt</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i xmapwpt -f Xmap1.wpt -f Xmap2.wpt -o mapsend -F mapsend.wpt</code></strong></p><p>
will read the two Xmap .wpt files and write one mapsend file. This
is fine for a small handful of points, but could be quite cumbersome
for folks like me who have 100+ waypoints loaded into XMap. For *nix
folks, something as simple as:
-</p><pre class="screen">cat *.wpt > /tmp/foo.wpt
-gpsbabel -i xmapwpt -f foo.wpt -o mapsend -F mapsend.wpt </pre><p>
+</p><p><strong class="userinput"><code>cat *.wpt > /tmp/foo.wpt</code></strong>
+<strong class="userinput"><code>gpsbabel -i xmapwpt -f foo.wpt -o mapsend -F mapsend.wpt </code></strong></p><p>
will do the trick just fine.
</p><pre class="programlisting">
#!/full/path/to/perl
$FILENAME = @ARGV[2];
if (! $FILENAME) {
- print "Usage: xmap_split.pl INPUT_FILE OUTPUT_DIRECTORY FILENAME_BASE\n";
+ print "Usage: xmap_split.pl " .
+ "INPUT_FILE OUTPUT_DIRECTORY FILENAME_BASE\n";
print " (i.e. xmapl_split.pl points.wpt /tmp/points GPSB)\n";
- print " (created GPSB0001-GPSBXXXX in /tmp/points/ from points.wpt)\n";
+ print " (created GPSB0001-GPSBXXXX " .
+ " in /tmp/points/ from points.wpt)\n";
exit;
}
$lc++;
$filename = sprintf("%s/Gpsb%04d.wpt", $TARGETDIR, $lc);
- open (OUTFILE, ">$filename") || die "Cannot open $filename for write!\n";
+ open (OUTFILE, ">$filename") ||
+ die "Cannot open $filename for write!\n";
print OUTFILE $_;
exit;
-</pre><p>Contributed to GPSBabel by Alex Mottram.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_easygps"></a>EasyGPS binary format (easygps)</h2></div></div></div><p>
+</pre><p>Contributed to GPSBabel by Alex Mottram.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_easygps"></a>EasyGPS binary format (easygps)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p> This is the binary file format used by EasyGPS. This
+ </p></li></ul></div><p> This is the binary file format used by <a href="http://www.easygps.com/" target="_top">EasyGPS</a>
format is seemingly being phased out in favor of GPX in newer versions
of EasyGPS, but this allows conversions to and from the old binary
.loc format.
-</p><p>
- <a href="http://www.easygps.com/" target="_top">http://www.easygps.com/</a>
- </p><p> Information about and sketchy code to implement this file
+</p><p> Information about and sketchy code to implement this file
format were provided by Eric Cloninger.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_igc"></a>FAI/IGC Flight Recorder Data Format (igc)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_igc"></a>FAI/IGC Flight Recorder Data Format (igc)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
</p></li></ul></div><p>
- </p><p>
FAI/IGC Data File -- Used by the international gliding
community to record gliding flights. IGC files can be converted to
and from tracks representing recorded flights, and routes representing
</p><p>
A track stored in another format (GPX for example) representing a recorded
flight can be converted into an IGC file:
-</p><pre class="screen">gpsbabel -i gpx -f mytrk.gpx -o igc -F myflight.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f mytrk.gpx -o igc -F myflight.igc</code></strong></p><p>
If multiple track segments are provided in the input file, the one with the
most points will be used.
</p><p>
A route stored in another format representing a task declaration can be
converted into an IGC file:
-</p><pre class="screen">gpsbabel -i gpx -f myrte.gpx -o igc -F mytask.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f myrte.gpx -o igc -F mytask.igc</code></strong></p><p>
A route and a track in other formats can be included into a single IGC file:
-</p><pre class="screen">gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -o igc -F myflight.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -o igc -F myflight.igc</code></strong></p><p>
A similar result can be obtained by downloading the track log and routes
directly from a GPS device connected to a PC. For example to create an IGC
file from data recorded in a Garmin GPS connected to the first serial port of
a PC running Linux:
-</p><pre class="screen">gpsbabel -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</code></strong></p><p>
For Windows operating systems:
-</p><pre class="screen">gpsbabel -t -r -i garmin -f com1 -o igc -F myflight.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -t -r -i garmin -f com1 -o igc -F myflight.igc</code></strong></p><p>
A waypoint file in another format containing a waypoint whose short name is
"PILOT" can be merged into an IGC file. The description field of the waypoint
will be used for the pilot name in the IGC file header:
-</p><pre class="screen">gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -f mywpt.gpx -o igc -F myflight.igc
-gpsbabel -w -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -f mywpt.gpx -o igc -F myflight.igc
+gpsbabel -w -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</code></strong></p><p>
Some formats such as GPX allow routes, tracks and waypoints to exist in the
same file and can be used to fully populate an IGC file:
-</p><pre class="screen">gpsbabel -i gpx -f myall.gpx -o igc -F myflight.igc</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_igc_convfrom"></a>Converting from IGC format</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f myall.gpx -o igc -F myflight.igc</code></strong></p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_igc_convfrom"></a>Converting from IGC format</h3></div></div></div><p>
Data in an IGC file can be converted into other formats. For example to
generate OziExplorer files containing tracks representing the recorded
flight (myozi.plt) and routes representing declared tasks (myozi.rte):
-</p><pre class="screen">gpsbabel -i igc -f myflight.igc -o ozi -F myozi</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i igc -f myflight.igc -o ozi -F myozi</code></strong></p><p>
Or to GPX format:
-</p><pre class="screen">gpsbabel -i igc -f myflight.igc -o gpx -F myflight.gpx</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i igc -f myflight.igc -o gpx -F myflight.gpx</code></strong></p><p>
Header information from the IGC file will be written to the description field
of the track(s).
</p><p>
</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_igc_merge"></a>Merging into IGC format</h3></div></div></div><p>
A route stored in another format can be merged with an existing IGC file that
has no task declaration, to generate a new IGC file with a task declaration:
-</p><pre class="screen">gpsbabel -i igc -f myflight.igc -i gpx -f myrte.gpx -o igc -F mynew.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i igc -f myflight.igc -i gpx -f myrte.gpx -o igc -F mynew.igc</code></strong></p><p>
A two dimensional (lat/lon) track recorded during a flight by a GPS receiver
can be merged with a one dimensional (altitude) track recorded during the same
flight by a barograph instrument. The result is a three dimensional IGC file
representing the flight:
-</p><pre class="screen">gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc -F my3D.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc -F my3D.igc</code></strong></p><p>
The same can be acheived by downloading directly from a barograph instrument
supported by GPSBabel. For example with a Brauniger IQ Comp GPS variometer:
-</p><pre class="screen">gpsbabel -i baroiq -f /dev/ttyS0 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i baroiq -f /dev/ttyS0 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</code></strong></p><p>
or:
-</p><pre class="screen">gpsbabel -i baroiq -f com1 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i baroiq -f com1 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</code></strong></p><p>
(Documentation contributed by Chris Jones, Aug 2004)
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_igc_o_timeadj"></a>timeadj option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_igc_o_timeadj"></a><code class="option">timeadj</code> option</h3></div></div></div><p>
(integer sec or 'auto') Barograph to GPS time diff.
</p><p>
Sometimes there is a discrepancy between the internal clock in the barograph
not correlating correctly. This can be corrected manually by passing the time
difference in seconds between the two time domains through the "timeadj"
parameter. This can be any positive or negative integer:
-</p><pre class="screen">gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=27 -F my3D.igc</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=27 -F my3D.igc</code></strong></p><p>
GPSBabel can also attempt to deduce the time difference automatically. This
is done by comparing the time that it thinks that you landed on the GPS track
and the barograph and adjusting accordingly:
-</p><pre class="screen">gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</pre></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpssim"></a>Franson GPSGate Simulation (gpssim)</h2></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</code></strong></p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpssim"></a>Franson GPSGate Simulation (gpssim)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
write routes
</p></li></ul></div><p>
- </p><p>
This is a write-only format used to feed waypoints, tracks, and routes
into <a href="http://franson.com/" target="_top">Franson Technolgies'</a>
<a href="http://franson.com/gpsgate/" target="_top">GpsGate simulator</a>.
</p><p>
To use these files in GpsGate, select 'Simulator' and then
"File->Open".
- </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpssim_o_wayptspd"></a>wayptspd option</h3></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpssim_o_wayptspd"></a><code class="option">wayptspd</code> option</h3></div></div></div><p>
Default speed for waypoints (knots/hr).
</p><p>
This option specifies the speed of the simulation in knots.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpssim_o_split"></a>split option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpssim_o_split"></a><code class="option">split</code> option</h3></div></div></div><p>
Split input into separate files.
</p><p>When this option is specified, GPSBabel will split
split the output into multiple files using the output filename
</p><table class="simplelist" border="0" summary="Simple list"><tr><td>mytrip-waypoints.gpssim - will contain the waypoints.</td></tr><tr><td>mytrip-track0000.gpssim - will contain the first track.</td></tr><tr><td>mytrip-track0001.gpssim - will contain the second track.</td></tr><tr><td>... and so on.</td></tr><tr><td>mytrip-route0000.gpssim - will contain the first route.</td></tr><tr><td>mytrip-route0001.gpssim - will contain the seconds route.</td></tr><tr><td>... and so on.</td></tr></table><p>
</p><p>
Valid values for this option are 0 (off) and 1 (on). The default is '0'.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_fugawi"></a>Fugawi (fugawi)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_fugawi"></a>Fugawi (fugawi)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
-</p><p> This was a requested CSV format, *not* the proprietary
-binary format used by Fugawi. Like any other CSV format, GPSBabel
+</p><p> This was a requested <a href="#fmt_csv" title="Comma separated values (csv)">CSV format</a>, and is <span class="emphasis"><em>not</em></span> the proprietary
+binary format used by <a href="http://www.fugawi.com" target="_top">Fugawi</a>. Like any other CSV format, GPSBabel
cannot read tracks in this format, but converting a track into it and
then importing as track in Fugawi works.</p><p> It is known to work with Fugawi V3.1.4.635. When
importing/exporting waypoints, one has to specify the order of fields
Fugawi):</p><table class="simplelist" border="0" summary="Simple list"><tr><td> - Name</td></tr><tr><td> - Comment</td></tr><tr><td> - Description</td></tr><tr><td> - Latidude</td></tr><tr><td> - Longitude</td></tr><tr><td> - Altitude (metres)</td></tr><tr><td> - Date (yyyymmdd/yymmdd)</td></tr><tr><td> - Time of day (hhmmss)</td></tr></table><p> When importing tracks, use "[ignore]" instead of "Name",
"Comment" and "Description".</p><p>
<a href="http://www.fugawi.com/" target="_top">http://www.fugawi.com/</a>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_garmin301"></a>Garmin 301 Custom position and heartrate (garmin301)</h2></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_garmin301"></a>Garmin 301 Custom position and heartrate (garmin301)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>This is a very simple format that
-is most useful for exporting data from a Garmin301 to other programs
+is most useful for exporting data from units that support heart rate
+data such as
+<span class="productname">Garmin Forerunner 301</span>™,
+<span class="productname">Garmin Forerunner 305</span>™, and
+<span class="productname">Garmin Edge 305</span>™, and
+to other programs
for analysis. It's a simple comma delimited format that includes the
timestamp, 3D position information and heart rate so you can pull it
-into a spreadsheet or graphing program. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_glogbook"></a>Garmin Logbook XML (glogbook)</h2></div></div></div><p>
+into a spreadsheet or graphing program. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_glogbook"></a>Garmin Logbook XML (glogbook)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write tracks
- </p></li></ul></div><p>
- </p><p>This is the XML format used by the Garmin Logbook product
-that ships with Forerunner and Foretrex. <a href="http://www.garmin.com" target="_top">http://www.garmin.com</a>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gdb"></a>Garmin MapSource - gdb (gdb)</h2></div></div></div><p>
+ </p></li></ul></div><p>This is the XML format used by the Garmin Logbook product
+that ships with Forerunner and Foretrex.
+As of early 2006, this program is apparently been discontinued in favor of
+<a href="#fmt_gtrnctr" title="Garmin Training Centerxml (gtrnctr)">Garmin Training Center</a>.
+
+See: <a href="http://www.garmin.com" target="_top">http://www.garmin.com</a>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gdb"></a>Garmin MapSource - gdb (gdb)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>
+ </p></li></ul></div><p>
Support for the "Garmin GPS Database" format used by
-default in MapSource versions since release 6.0. By default GPSBabel creates
+default in <span class="productname">MapSource</span>™ versions since release 6.0 of
+that product. By default GPSBabel creates
gdb files of version 2. Version 2 is used in Mapsource 6.3 and 6.5.
</p><p>
Garmin GPS database is an undocumented file format. The
basic info for this module came from the existing MapSource
conversion code.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gdb_o_cat"></a>cat option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gdb_o_cat"></a><code class="option">cat</code> option</h3></div></div></div><p>
Default category on output (1..16).
</p><p>
This option specifies the default category for gdb output. It should be a
number from 1 to 16.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gdb_o_ver"></a>ver option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gdb_o_ver"></a><code class="option">ver</code> option</h3></div></div></div><p>
Version of gdb file to generate (1,2).
</p><p>
This option specifies the data format version for the output file. Version
2 is the default. Currently, the only other valid value for this option is
1.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gdb_o_via"></a>via option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gdb_o_via"></a><code class="option">via</code> option</h3></div></div></div><p>
Drop route points that do not have an equivalent waypoint (hidden points).
</p><p>
This option instructs GPSBabel to drop hidden (calculated) points from
routes.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_mapsource"></a>Garmin MapSource - mps (mapsource)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_mapsource"></a>Garmin MapSource - mps (mapsource)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>
+ </p></li></ul></div><p>
This format supports the Garmin <span class="productname">Mapsource</span>™
product family.
</p><p>
</p><p>
Information on the Garmin Mapsource format was provided by Ian Cowley and
Mark Bradley. The code was implemented by Robert Lipe and Mark Bradley.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_snlen"></a>snlen option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_snlen"></a><code class="option">snlen</code> option</h3></div></div></div><p>
Length of generated shortnames.
</p><p>
This option specifies the length of generated short names on output. The
default is 10 characters.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_snwhite"></a>snwhite option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_snwhite"></a><code class="option">snwhite</code> option</h3></div></div></div><p>
Allow whitespace synth. shortnames.
</p><p>
This option specifies whether to allow whitespace (space, tab, etc.) in
generated short names on output. The default is to not allow whitespace.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_mpsverout"></a>mpsverout option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_mpsverout"></a><code class="option">mpsverout</code> option</h3></div></div></div><p>
Version of mapsource file to generate (3,4,5).
</p><p>
This option specifies the format version for the output file. The default
is version 5, as noted above. Supported versions are 3, 4, and 5.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_mpsmergeout"></a>mpsmergeout option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_mpsmergeout"></a><code class="option">mpsmergeout</code> option</h3></div></div></div><p>
Merge output with existing file.
</p><p>
This option causes the output to be merged with a pre-existing output file.
This allows MapSource sections that aren't handled by GPSBabel (e.g. map sets)
to be preserved.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_mpsusedepth"></a>mpsusedepth option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_mpsusedepth"></a><code class="option">mpsusedepth</code> option</h3></div></div></div><p>
Use depth values on output (default is ignore).
</p><p>
This option causes GPSBabel to write depth values for waypoints. Most
input formats do not support depth values, so the default is to not write
them.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_mpsuseprox"></a>mpsuseprox option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsource_o_mpsuseprox"></a><code class="option">mpsuseprox</code> option</h3></div></div></div><p>
Use proximity values on output (default is ignore).
</p><p>
This option causes GPSBabel to write proximity values for waypoints. Most
input formats do not support proximity values, so the default is to not write
them.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_garmin_txt"></a>Garmin MapSource - txt (tab delimited) (garmin_txt)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_garmin_txt"></a>Garmin MapSource - txt (tab delimited) (garmin_txt)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
</p></li></ul></div><p>
- </p><p>
This is a textual format that contains nearly all of the information
-contained in the MapSource main format, <a href="#fmt_gdb" title="Garmin MapSource - gdb (gdb)">GDB</a>.
+contained in the <span class="productname">MapSource</span>™ main format, <a href="#fmt_gdb" title="Garmin MapSource - gdb (gdb)">GDB</a>.
This format also contains some computed values such as distances between
routepoints and trackpoints, speed, and course (heading).
</p><p>
The main goal of garmin_txt is to make aviation data more available. Because
-MapSource supports only the export, GPSBabel gives you the possibility to
-bring aviation data into MapSource.
+<span class="productname">MapSource</span>™ supports only the export, GPSBabel gives you the possibility to
+bring aviation data into <span class="productname">MapSource</span>™.
</p><p>
-During the export with MapSource, some fields are written using local settings
-of MapSource and Windows. These include grid format, gps datum, distance and
+During the export with <span class="productname">MapSource</span>™, some fields are written using local settings
+of <span class="productname">MapSource</span>™ and Windows. These include grid format, gps datum, distance and
temperature units, and the representation of date and time fields. GPSBabel
tries to read all items automatically. Problems with date and time format can
be solved with the 'date' and 'time' options.
-</p><div class="example"><a id="all_garmin_txt_options"></a><p class="title"><b>Example 3.1. Command showing garmin_txt output with all options</b></p><pre class="screen">gpsbabel -i garmin_txt,date="MM/DD/YYYY",time="hh:mm:ss xx" -f in.txt -o garmin_txt,date="DD.MM.YYYY",datum="WGS 72",dist=m,prec=6,temp=c,time="HH:mm:ss",utc=+2 -F out.txt</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_date"></a>date option</h3></div></div></div><p>
+</p><div class="example"><a id="all_garmin_txt_options"></a><p class="title"><b>Example 3.1. Command showing garmin_txt output with all options</b></p><div class="example-contents"><p><strong class="userinput"><code>gpsbabel -i garmin_txt,date="MM/DD/YYYY",time="hh:mm:ss xx" -f in.txt -o garmin_txt,date="DD.MM.YYYY",datum="WGS 72",dist=m,prec=6,temp=c,time="HH:mm:ss",utc=+2 -F out.txt</code></strong></p></div></div><br class="example-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_date"></a><code class="option">date</code> option</h3></div></div></div><p>
Read/Write date format (i.e. yyyy/mm/dd).
</p><p>
This option specifies the input and output format for the date. The format
is written similarly to those in Windows. An example format is "YYYY/MM/DD".
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_datum"></a>datum option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_datum"></a><code class="option">datum</code> option</h3></div></div></div><p>
GPS datum (def. WGS 84).
</p><p>
This option specifies the datum to be used on output. Valid values for this
option are listed in <a href="#Datums" title="Appendix A. Supported Datums">Appendix A, <i>Supported Datums</i></a>.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_dist"></a>dist option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_dist"></a><code class="option">dist</code> option</h3></div></div></div><p>
Distance unit [m=metric, s=statute].
</p><p>
This option specifies the unit to be used when outputting distance
values. Valid values are M for metric (m/km/kph) or S for statute
(ft/mi/mph).
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_prec"></a>prec option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_grid"></a><code class="option">grid</code> option</h3></div></div></div><p>
+ Write position using this grid..
+ </p><p>
+ This value specifies the grid to be used on write.
+</p><div class="table"><a id="garmin_grid"></a><p class="title"><b>Table 3.1. Grid values for garmin_txt</b></p><div class="table-contents"><table summary="Grid values for garmin_txt" border="1"><colgroup><col /><col /><col /><col /></colgroup><thead><tr><th># idx</th><th>short</th><th>file-header</th><th>sample</th></tr></thead><tbody><tr><td>0</td><td>ddd</td><td>Lat/Lon hddd.ddddd</td><td> S26.25333 E27.92333</td></tr><tr><td>1</td><td>dm</td><td>Lat/Lon hddd°mm.mm</td><td>N33 56.539 W118 24.471</td></tr><tr><td>2</td><td>dm</td><td>Lat/Lon hddd°mm'ss.s</td><td>S25 25 26.8 E28 06 07.3</td></tr><tr><td>3</td><td>bng</td><td>British National Grid</td><td>TQ 18919 69392</td></tr></tbody></table></div></div><br class="table-break" /><p>
+ Idx or short are valid params for this option.
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_prec"></a><code class="option">prec</code> option</h3></div></div></div><p>
Precision of coordinates.
</p><p>
This option specifies the precision to be used when writing coordinate values.
Precision is the number of digits after the decimal point. The default
precision is 3.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_temp"></a>temp option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_temp"></a><code class="option">temp</code> option</h3></div></div></div><p>
Temperature unit [c=Celsius, f=Fahrenheit].
</p><p>
This option specifies the unit to be used when writing temperature values.
Valid values are C for Celsius or F for Fahrenheit.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_time"></a>time option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_time"></a><code class="option">time</code> option</h3></div></div></div><p>
Read/Write time format (i.e. HH:mm:ss xx).
</p><p>
This option specifies the input and output format for the time. The format
is written similarly to those in Windows. An example format is "hh:mm:ss xx".
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_utc"></a>utc option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_txt_o_utc"></a><code class="option">utc</code> option</h3></div></div></div><p>
Write timestamps with offset x to UTC time.
</p><p>
This option specifies the local time zone to use when writing times. It
is specified as an offset from Universal Coordinated Time (UTC) in hours.
Valid values are from -23 to +23.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_pcx"></a>Garmin PCX5 (pcx)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_pcx"></a>Garmin PCX5 (pcx)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p> Garmin documents only PCX5, an older format limited to
+ </p></li></ul></div><p> Garmin documents only PCX5, an older format limited to
the lame NMEA six-character waypoint names that's treated as a
second-class citizien in current versions of MapSource. In Mapsource,
use file->import to read these files. If you name the files *.wpt,
-Mapsource will find them easier.
+Mapsource will find them more easily.
</p><p> In general, you should prefer the "mapsource" file format
to this one.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pcx_o_deficon"></a>deficon option</h3></div></div></div><p>
+</p><p>This format has been extended to handle many - but not all -
+ files from <a href="http://www.gpsu.co.uk/index.html" target="_top">GPS Utility</a>. If you encounter something that GPSBabel does not handle well, use
+the free version of GPSUtil to read it and save as something more common.
+ </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pcx_o_deficon"></a><code class="option">deficon</code> option</h3></div></div></div><p>
Default icon name.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pcx_o_cartoexploreur"></a>cartoexploreur option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pcx_o_cartoexploreur"></a><code class="option">cartoexploreur</code> option</h3></div></div></div><p>
Write tracks compatible with Carto Exploreur.
- </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_garmin_poi"></a>Garmin POI database (garmin_poi)</h2></div></div></div><p>
+ </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_garmin_poi"></a>Garmin POI database (garmin_poi)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>The <a href="http://www.garmin.com/support/agree.jsp?id=927" target="_top">Garmin POI loader</a>
loads custom points of interest into certain models of
Garmin GPS receivers. (As of this writing, only the models introduced
in 2005 and later are supported. See Garmin's site for more info.)
-This is the format readable that that program.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_garmin"></a>Garmin serial/USB protocol (garmin)</h2></div></div></div><p>
+This is the format readable that that program.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_garmin"></a>Garmin serial/USB protocol (garmin)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>
+ </p></li></ul></div><p>
GPSBabel supports a wide variety of Garmin hardware via serial
on most operating systems and USB on Windows, Linux, and OS X.
</p><p>
mode" in setup and that nothing else (PDA hotsync programs, gpsd,
getty, pppd, etc.) is using the serial port.
</p><p>
- Supported models on USB include
- </p><table class="simplelist" border="0" summary="Simple list"><tr><td>Edge 205</td><td>Foretrex 201</td><td>GPSMAP 60CS</td><td>Nuvi 350<sup>[<a href="#ftn.gpx">1</a>]</sup></td><td>StreetPilot 7500</td></tr><tr><td>Edge 305</td><td>Foretrex 301</td><td>GPSMAP 60CSX</td><td>Nuvi 360<sup>[<a href="#ftn.gpx">1</a>]</sup></td><td>StreetPilot c310</td></tr><tr><td>eTrex Legend C</td><td>GPSMAP 195</td><td>GPSMAP 60CX</td><td>Quest</td><td>StreetPilot c320</td></tr><tr><td>eTrex LegendCX</td><td>GPSMAP 276C</td><td>GPSMAP 76C</td><td>Quest II</td><td>StreetPilot c330</td></tr><tr><td>eTrex Venture C</td><td>GPSMAP 295</td><td>GPSMAP 76CS</td><td>StreetPilot 2610</td><td>StreetPilot c340</td></tr><tr><td>eTrex Venture CX</td><td>GPSMAP 296C</td><td>GPSMAP 76CSX</td><td>StreetPilot 2620</td><td>StreetPilot c510<sup>[<a href="#ftn.gpx">1</a>]</sup></td></tr><tr><td>eTrex VistaC</td><td>GPSMAP 378</td><td>GPSMAP 76CX</td><td>StreetPilot 2650</td><td>StreetPilot c530<sup>[<a href="#ftn.gpx">1</a>]</sup></td></tr><tr><td>eTrex Vista CX</td><td>GPSMAP 396</td><td>GPSMAP 96</td><td>StreetPilot 2720</td><td>StreetPilot c550<sup>[<a href="#ftn.gpx">1</a>]</sup></td></tr><tr><td>Forerunner 205</td><td>GPSMAP 478</td><td>GPSMAP 96C</td><td>StreetPilot 2730</td><td>StreetPilot i2</td></tr><tr><td>Forerunner 301</td><td>GPSMAP 496</td><td>Nuvi 300<sup>[<a id="gpx" href="#ftn.gpx">1</a>]</sup></td><td>StreetPilot 2820</td><td>StreetPilot i3</td></tr><tr><td>Forerunner 305</td><td>GPSMAP 60C</td><td>Nuvi 310<sup>[<a href="#ftn.gpx">1</a>]</sup></td><td>StreetPilot 7200</td><td>StreetPilot i5</td></tr></table><p>
-</p><p>and most serial units including:
-</p><table class="simplelist" border="0" summary="Simple list"><tr><td>eMap</td><td>eTrex Vista</td><td>Geko 301</td><td>GPS III </td><td>StreetPilot III</td></tr><tr><td>eTrex Camo</td><td>eTrex Yellow</td><td>GPS 12CX </td><td>GPS III+ </td><td>StreetPilot III+</td></tr><tr><td>eTrex Legend</td><td>Forerunner 201</td><td>GPS 12Map </td><td>GPS II </td><td> </td></tr><tr><td>eTrex Summit</td><td>Foretrex 201</td><td>GPS 12 </td><td>GPS II+ </td><td> </td></tr><tr><td>eTrex Venture</td><td>Geko 201</td><td>GPS 12XL </td><td>GPS V</td><td> </td></tr></table><p>
+ Supported Garmin GPS receivers with USB include
+ </p><table class="simplelist" border="0" summary="Simple list"><tr><td>Astro</td><td>GPSMAP 276C</td><td>GPSMAP 96C</td><td>StreetPilot 7200</td></tr><tr><td>Edge 205</td><td>GPSMAP 295</td><td>Nuvi 300<sup>[<a id="gpx" href="#ftn.gpx">2</a>]</sup></td><td>StreetPilot 7500</td></tr><tr><td>Edge 305</td><td>GPSMAP 296C</td><td>Nuvi 310<sup>[<a href="#ftn.gpx">2</a>]</sup></td><td>StreetPilot c310</td></tr><tr><td>eTrex Legend C</td><td>GPSMAP 378</td><td>Nuvi 350<sup>[<a href="#ftn.gpx">2</a>]</sup></td><td>StreetPilot c320</td></tr><tr><td>eTrex LegendCX</td><td>GPSMAP 396</td><td>Nuvi 370<sup>[<a href="#ftn.gpx">2</a>]</sup></td><td>StreetPilot c330</td></tr><tr><td>eTrex Venture C</td><td>GPSMAP 478</td><td>Nuvi 660<sup>[<a href="#ftn.gpx">2</a>]</sup></td><td>StreetPilot c340</td></tr><tr><td>eTrex Venture CX</td><td>GPSMAP 496</td><td>Nuvi 670<sup>[<a href="#ftn.gpx">2</a>]</sup></td><td>StreetPilot c510<sup>[<a href="#ftn.gpx">2</a>]</sup></td></tr><tr><td>eTrex VistaC</td><td>GPSMAP 60C</td><td>Nuvi 680<sup>[<a href="#ftn.gpx">2</a>]</sup></td><td>StreetPilot c530<sup>[<a href="#ftn.gpx">2</a>]</sup></td></tr><tr><td>eTrex Vista CX</td><td>GPSMAP 60CS</td><td>Quest</td><td>StreetPilot c550<sup>[<a href="#ftn.gpx">2</a>]</sup></td></tr><tr><td>Forerunner 205</td><td>GPSMAP 60CSX</td><td>Quest II</td><td>StreetPilot c580<sup>[<a href="#ftn.gpx">2</a>]</sup></td></tr><tr><td>Forerunner 301</td><td>GPSMAP 60CX</td><td>StreetPilot 2610</td><td>StreetPilot i2</td></tr><tr><td>Forerunner 305</td><td>GPSMAP 76C</td><td>StreetPilot 2620</td><td>StreetPilot i3</td></tr><tr><td>Foretrex 201</td><td>GPSMAP 76CS</td><td>StreetPilot 2650</td><td>StreetPilot i5</td></tr><tr><td>Foretrex 301</td><td>GPSMAP 76CSX</td><td>StreetPilot 2720</td><td>Zumo 450<sup>[<a href="#ftn.gpx">2</a>]</sup></td></tr><tr><td>GPS 18<sup>[<a id="posnonly" href="#ftn.posnonly">1</a>]</sup></td><td>GPSMAP 76CX</td><td>StreetPilot 2730</td><td>Zumo 550<sup>[<a href="#ftn.gpx">2</a>]</sup></td></tr><tr><td>GPSMAP 195</td><td>GPSMAP 96</td><td>StreetPilot 2820</td><td> </td></tr></table><p>
+</p><p>the following Bluetooth Garmin products:
+</p><table class="simplelist" border="0" summary="Simple list"><tr><td>GPS 10<sup>[<a href="#ftn.posnonly">1</a>]</sup></td><td> </td><td> </td><td> </td></tr></table><p>
+</p><p>and most serial Garmin GPS receivers including:
+</p><table class="simplelist" border="0" summary="Simple list"><tr><td>eMap</td><td>eTrex Yellow</td><td>GPS 12Map </td><td>GPS II+ </td></tr><tr><td>eTrex Camo</td><td>Forerunner 201</td><td>GPS 12 </td><td>GPS V</td></tr><tr><td>eTrex Legend</td><td>Foretrex 201</td><td>GPS 12XL </td><td>StreetPilot III</td></tr><tr><td>eTrex Summit</td><td>Geko 201</td><td>GPS III </td><td>StreetPilot III+</td></tr><tr><td>eTrex Venture</td><td>Geko 301</td><td>GPS III+ </td><td> </td></tr><tr><td>eTrex Vista</td><td>GPS 12CX </td><td>GPS II </td><td> </td></tr></table><p>
</p><p>
None of the GPSBabel developers has access to every model on that
list, but we've received reports of success and/or have reasonable
is not a fitness program at its core and does not support features
like courses or calorie/fitness zone data.
</p><p>
- To communicate with a unit serially, use the name of that
- serial port such as "COM1" or "/dev/cu.serial".
+ To communicate with a Garmin GPS serially, use the name of that
+ serial port such as <code class="filename">COM1</code> or <code class="filename">/dev/cu.serial</code>.
</p><p>
- To communicate via USB use "usb:" as the filename on all OSes.
- Thus, to read the waypoints from a Garmin USB unit and write
+ To communicate via USB use <code class="filename">usb:</code> as the filename on all OSes.
+ Thus, to read the waypoints from a Garmin USB receiver and write
them to a GPX file:
-
- </p><pre class="screen">gpsbabel -i garmin -f usb: -o gpx -F blah.gpx</pre><p>
-
-</p><p>
+</p><p><strong class="userinput"><code>gpsbabel -i garmin -f usb: -o gpx -F blah.gpx</code></strong></p><p>
If you have multiple units attached via USB, you may provide
a unit number, with zero being the implied default. So if you
have three USB models on your system, they can be addressed as
- "usb:0", "usb:1", and "usb:2". To get a list of recognized devices,
+ <code class="filename">usb:0</code>, <code class="filename">usb:1</code>, and <code class="filename">usb:2</code>. To get a list of recognized devices,
specifiy a negative number such as:
-</p><pre class="screen">gpsbabel -i garmin -f usb:-1</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i garmin -f usb:-1</code></strong></p><p>
When reporting problems with the Garmin format, be sure to include
the full unit model, firmware version, and be prepared to offer
-debugging dumps by adding "-D9" to the command line, like:
-</p><pre class="screen"> gpsbabel -D9 -i garmin -f usb: -o gpx -F blah.gpx</pre><p>
+debugging dumps by adding <code class="option">-D9</code> to the command line, like:
+</p><p><strong class="userinput"><code> gpsbabel -D9 -i garmin -f usb: -o gpx -F blah.gpx</code></strong></p><p>
Custom icons are supported on units that support that.
Neither GPSBabel nor your firmware know what is associated with any
given slot number. They don't know that the picture you placed in the
mode" in setup and that nothing else (PDA hotsync programs, gpsd,
getty, pppd, etc.) is using the serial port.
</p><p>
- For models connected via USB, we recommend use of the 'usb:'
+ For models connected via USB, we recommend use of the <code class="filename">usb:</code>
filename. For this to work on Windows, you must install
the Garmin driver. For Linux, this will fail if have the garmin_gps
kernel module loaded.
See the <a href="/osnotes.html" target="_top">Operating System Notes</a> for details.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_snlen"></a>snlen option</h3></div></div></div><p>
+</p><p>
+This module also supports <a href="#tracking" title="Realtime tracking">realtime tracking</a>
+which allows realtime position reports from a Garmin GPS receiver over USB
+or serial.
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_snlen"></a><code class="option">snlen</code> option</h3></div></div></div><p>
Length of generated shortnames.
</p><p>This option overrides the internal logic to figure out how many
characters an addressed Garmin GPS will support when using the '-s' smartname
GPSBabel doesn't know about or if you want to "dumb down" one unit to match
another, such as wanting waypoint names in a StreetPilot 2720 (which supports
20 character names) to exactly match those in a 60CS (which supports 10).
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_snwhite"></a>snwhite option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_snwhite"></a><code class="option">snwhite</code> option</h3></div></div></div><p>
Allow whitespace synth. shortnames.
</p><p>This options controls whether spaces are allowed in generated
-smart names when using the '-s' option.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_deficon"></a>deficon option</h3></div></div></div><p>
+smart names when using the '-s' option.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_deficon"></a><code class="option">deficon</code> option</h3></div></div></div><p>
Default icon name.
</p><p>
This option specifies the icon or waypoint type to write for each waypoint on
as described in the <a href="#GarminIcons" title="Appendix B. Garmin Icons">Appendix B, <i>Garmin Icons</i></a>.
</p><p>
This option has no effect on input.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_get_posn"></a>get_posn option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_get_posn"></a><code class="option">get_posn</code> option</h3></div></div></div><p>
Return current position as a waypoint.
</p><p>This options gets the current longtitude and latitude from the attached GPS device
and returns it as a single waypoint for further processing. For example,
to return the current position from a USB Garmin to a KML file:
-</p><pre class="screen">gpsbabel -i garmin,get_posn -f usb: -o kml -F myposition.kml</pre><p>
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_power_off"></a>power_off option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i garmin,get_posn -f usb: -o kml -F myposition.kml</code></strong></p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_power_off"></a><code class="option">power_off</code> option</h3></div></div></div><p>
Command unit to power itself down.
</p><p>This command forces an immediate powerdown of the addressed Garmin
receiver. It is ignored on hardware that does not support this command.
a unit that supports it is rather futile, so place this option carefully
in your command.
-</p><pre class="screen">gpsbabel -o garmin,power_off -F /dev/ttyS0</pre><p>
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_category"></a>category option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -o garmin,power_off -F /dev/ttyS0</code></strong></p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_garmin_o_category"></a><code class="option">category</code> option</h3></div></div></div><p>
Category number to use for written waypoints.
</p><p>This numeric option will force waypoints to be written with that
category number when sending to a Garmin receiver that has category
-support. It is ignored on receivers without that capability. </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gtrnctr"></a>Garmin Training Centerxml (gtrnctr)</h2></div></div></div><p>
+support. It is ignored on receivers without that capability. </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gtrnctr"></a>Garmin Training Centerxml (gtrnctr)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
write tracks
</p></li></ul></div><p>
- </p><p>
-Garmin Training Center is the successor to Garmin' Logbook program
-for their workout units. It is a free upgrade.
+GPSBabel has limited support for Garmin Training Center files. That program is the successor to Garmin' Logbook program for their workout units. It is a free upgrade.
</p><p>
This format is somewhat underachieving in GPSBabel. It is a write-only
format; we never read it. The bigger problem, however, is a fundamental
which are rather alien to GPSBabel and most of the formats we support. As
such, while we can describe the tracks pretty accurately, things like
calories and heart zone tracking are not supported.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_geo"></a>Geocaching.com .loc (geo)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_geo"></a>Geocaching.com .loc (geo)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
-This format supports the Geocaching.com/EasyGPS ".loc" format. This format
+This format supports the <a href="http://www.geocaching.com" target="_top">Geocaching.com</a>/<a href="http://www.easygps.com" target="_top">EasyGPS</a> ".loc" format. This format
was created specifically for Geocaching.com and is not the same as the
standard EasyGPS .loc format. See the <a href="#fmt_easygps" title="EasyGPS binary format (easygps)">EasyGPS</a>
or <a href="#fmt_gpx" title="GPX XML (gpx)">GPX</a> formats for more general EasyGPS support.
This is a simple XML-based format containing only very basic information
about geocaches. If you can use the <a href="#fmt_gpx" title="GPX XML (gpx)">GPX</a>
format instead, you should consider doing so as it is a much richer format.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_geo_o_deficon"></a>deficon option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_geo_o_deficon"></a><code class="option">deficon</code> option</h3></div></div></div><p>
Default icon name.
</p><p>
This option specifies the icon or waypoint type to write for each waypoint on
There is no list of valid values for this option.
</p><p>
This option has no effect on input.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_geo_o_nuke_placer"></a>nuke_placer option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_geo_o_nuke_placer"></a><code class="option">nuke_placer</code> option</h3></div></div></div><p>
Omit Placer name.
</p><p>
If this option is specified, GPSBabel will not read geocache placer information
input file.
</p><p>
This option has no effect on output.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gcdb"></a>GeocachingDB for Palm/OS (gcdb)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gcdb"></a>GeocachingDB for Palm/OS (gcdb)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p>This is the GeocachingDB by DougsBrat. It works with v2
-and v3 of this program. See <a href="http://vip.hyperusa.com/~dougs/geocachingdb/geocachingdb.htm" target="_top">vip.hyperusa.com</a>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_geonet"></a>GEOnet Names Server (GNS) (geonet)</h2></div></div></div><p>
+ </p></li></ul></div><p>This is format for the
+<a href="http://vip.hyperusa.com/~dougs/geocachingdb/geocachingdb.htm" target="_top">
+GeocachingDB</a> program by DougsBrat. It works with v2
+and v3 of this program.
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_geonet"></a>GEOnet Names Server (GNS) (geonet)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>Input support for the GEOnet Names Server (GNS) country
file structure. Export to this format is not possible, as this format
has too many fields that we never get populated by any other
-format.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_geoniche"></a>GeoNiche .pdb (geoniche)</h2></div></div></div><p>
+format.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_geoniche"></a>GeoNiche .pdb (geoniche)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p>Geoniche is a Palm/OS application oriented for the
-off-road user. This module was contributed by Rick Richardson. See
-<a href="http://www.nwlink.com/~raydar/GeoNiche/" target="_top">nwlink.com</a>
- </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_geoniche_o_dbname"></a>dbname option</h3></div></div></div><p>
+ </p></li></ul></div><p><a href="http://www.raydarllc.com/" target="_top">Geoniche</a> is a Palm/OS application oriented for the
+off-road user. This module was contributed by Rick Richardson.
+ </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_geoniche_o_dbname"></a><code class="option">dbname</code> option</h3></div></div></div><p>
Database name (filename).
</p><p>
This option specifies the database name for the output file. This name is
not the same thing as the file name on your computer; this is the name that
appears in the file browser on your handheld.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_geoniche_o_category"></a>category option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_geoniche_o_category"></a><code class="option">category</code> option</h3></div></div></div><p>
Category name (Cache).
</p><p>
This option specifies the name of the category in which to place the
waypoints. If this option is not specified, the default category is
"Cache".
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_kml"></a>Google Earth (Keyhole) Markup Language (kml)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_kml"></a>Google Earth (Keyhole) Markup Language (kml)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>
+ </p></li></ul></div><p>
KML, the Keyhole Markup Language, is used by Keyhole and
-Google Earth. There are features in this file format that GPSBabel
+<a href="http://earth.google.com" target="_top">Google Earth</a>. There are features in this file format that GPSBabel
doesn't support - such as camera views - but waypoints, tracks, and routes
work well.
</p><p>
Google Earth also uses GPSBabel internally for receiver communications
and several file format imports and exports.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_deficon"></a>deficon option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_deficon"></a><code class="option">deficon</code> option</h3></div></div></div><p>
Default icon name.
</p><p>
This option specifies the default name for waypoint icons
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_lines"></a>lines option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_lines"></a><code class="option">lines</code> option</h3></div></div></div><p>
Export linestrings for tracks and routes.
</p><p>
When this option is nonzero, GPSBabel draws lines between points in
tracks and routes. The default value for this option is 1, which causes
lines to be drawn by default. To disable line-drawing, specify
<code class="option">lines=0</code>.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_points"></a>points option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_points"></a><code class="option">points</code> option</h3></div></div></div><p>
Export placemarks for tracks and routes.
</p><p>
When this option is nonzero, GPSBabel draws placemarks for tracks and routes.
The default value for this option is 1, which causes placemarks to be drawn.
To disable drawing of placemarks, specify <code class="option">points=0</code>.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_line_width"></a>line_width option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_line_width"></a><code class="option">line_width</code> option</h3></div></div></div><p>
Width of lines, in pixels.
</p><p>
This option specifies the width of the drawn lines in pixels. The default
value is six pixels.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_line_color"></a>line_color option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_line_color"></a><code class="option">line_color</code> option</h3></div></div></div><p>
Line color, specified in hex AABBGGRR.
</p><p>
This option specifies the line color as a hexadecimal number in
AABBGGRR format, where A is alpha, B is blue, G is green, and R is red.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_floating"></a>floating option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_floating"></a><code class="option">floating</code> option</h3></div></div></div><p>
Altitudes are absolute and not clamped to ground.
</p><p>
When this option is nonzero, altitudes are allowed to float above or below
float.
</p><p>
This option is more useful to pilots than to hikers.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_extrude"></a>extrude option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_extrude"></a><code class="option">extrude</code> option</h3></div></div></div><p>
Draw extrusion line from trackpoint to ground.
</p><p>
This option is a boolean flag to specicy whether Google Earth should
means no extrusion lines are drawn. The option of '1' is, of course,
most useful for points that aren't actually on the ground such as those
be captured from planes.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_trackdata"></a>trackdata option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_trackdata"></a><code class="option">trackdata</code> option</h3></div></div></div><p>
Include extended data for trackpoints (default = 1).
</p><p>
This is a boolean flag that controls
of '1' for this option. If you are writing large tracks and do not value
this information, you can reduce the size of the generated file substantially
by turning this flag off by setting it to '0'.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_units"></a>units option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_units"></a><code class="option">units</code> option</h3></div></div></div><p>
Units used when writing comments ('s'tatute or 'm'etric).
</p><p>
Units is a simple option. Specify 's' for "statute" (miles, feet, and
other things that don't sensibly convert to each other, but are craved
by Americans) or 'm' for "metric".
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_labels"></a>labels option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_labels"></a><code class="option">labels</code> option</h3></div></div></div><p>
Display labels on track and routepoints (default = 1).
</p><p>
When this option is zero, no labels are added for track and route points.
This option defaults to one, so labels are added by default.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_max_position_points"></a>max_position_points option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_kml_o_max_position_points"></a><code class="option">max_position_points</code> option</h3></div></div></div><p>
Retain at most this number of position points (0 = unlimited).
</p><p>
This option allows you to specify the number of points kept
in the 'snail trail' generated in the realtime tracking mode.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_google"></a>Google Maps XML (google)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_google"></a>Google Maps XML (google)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read tracks
- </p></li></ul></div><p>
- </p><p> This format is designed to read the XML emitted when you
-tack "&output=js" onto the end of a Google Maps route URL (use
+ </p></li></ul></div><p> This format is designed to read the XML emitted when you
+tack "&output=js" onto the end of a <a href="http://www.maps.google.com>Google Maps" target="_top">Google Maps</a>route URL (use
the "link to this page" option to get a usable URL.) This allows you
to plan a route using Google Maps, then download it and use it in your
own mapping program or GPS receiver. To get a file suitable for use
wget -O - "http://maps.google.com/maps?q=$FROM to $TO&output=js" \
2&>/dev/null >google_map.js
gpsbabel -i google -f google_map.js -o gpx -F google_map.gpx
-</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpilots"></a>GpilotS (gpilots)</h2></div></div></div><p>
+</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpilots"></a>GpilotS (gpilots)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p> This is a Palm/OS file format for GPilotS. It was tested
-against version 6.2.
-</p><p>
- <a href="http://www.cru.fr/perso/cc/GPilotS/" target="_top">http://www.cru.fr/perso/cc/GPilotS/</a>
- </p><p> Neither tracks nor routes are supported at this
-time.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpilots_o_dbname"></a>dbname option</h3></div></div></div><p>
+ </p></li></ul></div><p> This is a Palm/OS file format for
+ <a href="http://www.cru.fr/perso/cc/GPilotS/" target="_top">GPilotS</a>.
+ It was tested against version 6.2 of GPilotsS
+</p><p> Neither tracks nor routes are supported at this
+time.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpilots_o_dbname"></a><code class="option">dbname</code> option</h3></div></div></div><p>
Database name.
</p><p>
This option specifies the database name for the output file. This name is
not the same thing as the file name on your computer; this is the name that
appears in the file browser on your handheld.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gtm"></a>GPS TrackMaker (gtm)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gtm"></a>GPS TrackMaker (gtm)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>Input and output support for waypoints, tracks and routes in
+ </p></li></ul></div><p>Input and output support for waypoints, tracks and routes in
the <a href="http://www.gpstm.com" target="_top">GPS TrackMaker </a>
- binary format.</p><p>Code implemented by Gustavo Niemeyer.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_arc"></a>GPSBabel arc filter file (arc)</h2></div></div></div><p>
+ binary format.</p><p>Code implemented by Gustavo Niemeyer.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_arc"></a>GPSBabel arc filter file (arc)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>
<a href="#filter_arc" title="Include Only Points Within Distance of Arc (arc)">arc</a> and
<a href="#filter_polygon" title="Include Only Points Inside Polygon (polygon)">polygon</a> filters. See those filters
for more information.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpsdrive"></a>GpsDrive Format (gpsdrive)</h2></div></div></div><p>
+</p><p>
+The arc format reads two numeric fields, a latitude and a longitude,
+in any format recognized as <a href="#style_def_lathuman" title="LAT_HUMAN_READABLE">human
+readable</a> and writes as simple degrees decimal. It really is
+intended for GPSBabel's own internal use more than general use, though
+it turns out to be a convenient way of expressing simple polylines and
+polygons.
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpsdrive"></a>GpsDrive Format (gpsdrive)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>GpsDrive way.txt file format. A space seperated format
file. Tested against GpsDrive v 1.30 found at <a href="http://www.kraftvoll.at/software" target="_top">kraftvoll.at</a>.
-Contributed by Alan Curry.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpsdrivetrack"></a>GpsDrive Format for Tracks (gpsdrivetrack)</h2></div></div></div><p>
+Contributed by Alan Curry.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpsdrivetrack"></a>GpsDrive Format for Tracks (gpsdrivetrack)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>Format used by GpsDrive to save tracks. Like GPSDRIVE a
space seperated format file. See above for a link to GpsDrive.
-Contributed by Tobias Minich.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpsman"></a>GPSman (gpsman)</h2></div></div></div><p>
+Contributed by Tobias Minich.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpsman"></a>GPSman (gpsman)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p> <a href="http://www.ncc.up.pt/gpsman/" target="_top">GPS Manager</a>
are not supported.
</p><p>This format is documented at the GPS Manager
<a href="http://www.ncc.up.pt/gpsman/gpsmanhtml/manual/html/GPSMandoc_30.html" target="_top">doc site</a>.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpspilot"></a>GPSPilot Tracker for Palm/OS (gpspilot)</h2></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpspilot"></a>GPSPilot Tracker for Palm/OS (gpspilot)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p>The file format for GPSPILOT <a href="http://www.gpspilot.com" target="_top">gpspilot.com</a> was provided by Ron
+ </p></li></ul></div><p>The file format for GPSPILOT <a href="http://www.gpspilot.com" target="_top">gpspilot.com</a> was provided by Ron
Parker. The output from this module has been tested with GPSPilot
Tracker v5.05sx, but it is based on reverse-engineering so it may not
work with all versions of all GPSPilot products. It had read-only
support for Airport, Navaid, City and Landmark files but will read and
-write Point files.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpspilot_o_dbname"></a>dbname option</h3></div></div></div><p>
+write Point files.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpspilot_o_dbname"></a><code class="option">dbname</code> option</h3></div></div></div><p>
Database name.
</p><p>
This option specifies the database name for the output file. This name is
not the same thing as the file name on your computer; this is the name that
appears in the file browser on your handheld.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpsutil"></a>gpsutil (gpsutil)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpsutil"></a>gpsutil (gpsutil)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p>GPSUtil has a simple file format of this program that runs
+ </p></li></ul></div><p>The format we call <a href="http://www.cs.uakron.edu/~hennings/gpsutil" target="_top">gpsutil</a> is a simple file format used by a program that runs
on POSIX- compliant OSes like UNIX and Linux. Reads and writes of
-this format are reliable. (I've also contributed to this program.)
-It's available at <a href="http://www.cs.uakron.edu/~hennings/gpsutil" target="_top">cs.uakron.edu</a>.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpx"></a>GPX XML (gpx)</h2></div></div></div><p>
+this format are very reliable. (<a href="/people/robertlipe.html" target="_top">The lead
+developer of GPSBabel</a> also contributed to this that 'gpsutil'
+the early days.)</p><p>
+ Note that 'gpsutil' is a different format - and program - than the one called <a href="http://www.gpsu.co.uk/index.html" target="_top">GPS Utility</a>; for that one, you should probably use our <a href="#fmt_pcx" title="Garmin PCX5 (pcx)">PCX module</a>.
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_gpx"></a>GPX XML (gpx)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>This is the most capable and expressive of all the file
+ </p></li></ul></div><p>This is the most capable and expressive of all the file
formats supplied. It is described at <a href="http://www.topografix.com/gpx.asp" target="_top">topografix.com</a> and is
supported by EasyGPS, ExpertGPS, and many other programs described at
<a href="http://www.topografix.com/gpx_resources.asp" target="_top">topografix.com</a>
- </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpx_o_snlen"></a>snlen option</h3></div></div></div><p>
+ </p><p>
+ GPSBabel's reader of this module attempts to preserve tags it doesn't
+ really understand. It also tries to glean interesting data from
+ <a href="http://www.geocaching.com" target="_top">pocket queries from Geocaching.com</a>.
+ </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpx_o_snlen"></a><code class="option">snlen</code> option</h3></div></div></div><p>
Length of generated shortnames.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpx_o_suppresswhite"></a>suppresswhite option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpx_o_suppresswhite"></a><code class="option">suppresswhite</code> option</h3></div></div></div><p>
No whitespace in generated shortnames.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpx_o_logpoint"></a>logpoint option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpx_o_logpoint"></a><code class="option">logpoint</code> option</h3></div></div></div><p>
Create waypoints from geocache log entries.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpx_o_urlbase"></a>urlbase option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpx_o_urlbase"></a><code class="option">urlbase</code> option</h3></div></div></div><p>
Base URL for link tag in output.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpx_o_gpxver"></a>gpxver option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_gpx_o_gpxver"></a><code class="option">gpxver</code> option</h3></div></div></div><p>
Target GPX version for output.
</p><p>
This option specifies the version of the GPX specification to use for
if you have a GPX 1.0 file that has extended namespaces in it (such as a
pocket query from Geocaching.com) just writing it with this option will
result in a horribly mangled GPX file as we can't convert the schema data.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_hiketech"></a>HikeTech (hiketech)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_hiketech"></a>HikeTech (hiketech)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li></ul></div><p>
- </p><p>This is the .gps format used by the Mac OS X applications
+ </p></li></ul></div><p>This is the .gps format used by the Mac OS X applications
written by HikeTech. These include TopoDraw, Link2GPS, and GPSWrite.
More information about these products can be found at <a href="http://www.hiketech.com" target="_top">hiketech.com</a>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_holux"></a>Holux (gm-100) .wpo Format (holux)</h2></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_holux"></a>Holux (gm-100) .wpo Format (holux)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p> The Holuxgm-100 (e-fox) gps receiver uses standard
+ </p></li></ul></div><p> The Holux gm-100 (e-fox) gps receiver uses standard
compact flash cards. File formats were provided by Holux-Taiwan
<a href="http://www.holux.com.tw" target="_top">holux.com</a> to the author.
The code was tested against version 2.27E1; other versions and
</p><p> The generated waypoint failes can also be used by MapShow
version 1.14. This program is free of charge from the Holux web site.
</p><p> This format was contributed by Jochen Becker.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_hsandv"></a>HSA Endeavour Navigator export File (hsandv)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_hsandv"></a>HSA Endeavour Navigator export File (hsandv)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p>HSA Systems Endeavour Navigator format - will import both
+ </p></li></ul></div><p>HSA Systems Endeavour Navigator format - will import both
the old version 4.x binary files, and the newer XML based ones. Only
writes the new XML (5.0 and above) format. (use the .exp
-extension)</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_html"></a>HTML Output (html)</h2></div></div></div><p>
+extension)</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_html"></a>HTML Output (html)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
write waypoints
- </p></li></ul></div><p>
- </p><p> HTML output generates a single HTML file of all of the
+ </p></li></ul></div><p> GPSBabel's HTML output generates a single HTML file of all of the
waypoints in the input file. It supports a number of Groundspeak GPX
-extensions, as well as filters out potentially harmful HTML from the
-input file while maintaining almost all of the source HTML formatting.
+extensions and filters out potentially harmful HTML from the
+input file while maintaining almost all of the source HTML formatting.
+This makes this format well suited for generating HTML to hand to programs
+like Plucker for putting in a PDA and especially so for "paperless caching"
+for Geocachers with pocket queries.
+</p><p>This format is similar to the <a href="#fmt_text" title="Textual Output (text)">text</a> format.
</p><p> The following command line reads a GPX file with
Groundspeak extensions and writes an HTML file with encrypted hints
that is rendered using a custom stylesheet:
-</p><pre class="screen">gpsbabel -i gpx -f 12345.gpx -o html,stylesheet=green.css,encrypt -F 12345.html</pre><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_html_o_stylesheet"></a>stylesheet option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f 12345.gpx -o html,stylesheet=green.css,encrypt -F 12345.html</code></strong></p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_html_o_stylesheet"></a><code class="option">stylesheet</code> option</h3></div></div></div><p>
Path to HTML style sheet.
</p><p>
Use this option to specify a CSS style sheet to be used with the
resulting HTML file.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_html_o_encrypt"></a>encrypt option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_html_o_encrypt"></a><code class="option">encrypt</code> option</h3></div></div></div><p>
Encrypt hints using ROT13.
</p><p>
Use this option to encrypt hints from Groundspeak GPX files.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_html_o_logs"></a>logs option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_html_o_logs"></a><code class="option">logs</code> option</h3></div></div></div><p>
Include groundspeak logs if present.
</p><p>
Use this option to include Groundspeak cache logs in the created document.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_html_o_degformat"></a>degformat option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_html_o_degformat"></a><code class="option">degformat</code> option</h3></div></div></div><p>
Degrees output as 'ddd', 'dmm'(default) or 'dms'.
</p><p>
When GPSBabel writes coordinates, this option is consulted to see if it
should write decimal degrees ('ddd') decimal minutes ('dmm') or degrees,
minutes, seconds ('dms'). The default is 'dmm'.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_html_o_altunits"></a>altunits option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_html_o_altunits"></a><code class="option">altunits</code> option</h3></div></div></div><p>
Units for altitude (f)eet or (m)etres.
</p><p>
This option should be 'f' if you want the altitude expressed in feet and
'm' for meters. The default is 'f'.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_ignrando"></a>IGN Rando track files (ignrando)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_ignrando"></a>IGN Rando track files (ignrando)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write tracks
</p></li></ul></div><p>
- </p><p>
This format supports IGN Rando track files. IGN Rando is a program mainly
used in France for Topo maps. The files are XML based and are "windows-1252"
encoded. Trackpoints do not have time stamps.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ignrando_o_index"></a>index option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ignrando_o_index"></a><code class="option">index</code> option</h3></div></div></div><p>
Index of track to write (if more the one in source).
</p><p>
Because the format supports only one track, this option may be used
tracks read from a more expressive format. If you have, say, a
<a href="#fmt_gpx" title="GPX XML (gpx)">gpx</a> file that contains two tracks, you may
use this option to write them one at a time to individual files.
-</p><pre class="screen">gpsbabel -i gpx -f tracks.gpx -o ignrando,index=1 -F track1.txt -o ignrando,index=2 -F track2.txt</pre></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_ktf2"></a>Kartex 5 Track File (ktf2)</h2></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f tracks.gpx -o ignrando,index=1 -F track1.txt -o ignrando,index=2 -F track2.txt</code></strong></p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_ktf2"></a>Kartex 5 Track File (ktf2)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
-</p><p>Support for Kartex 5 trackfiles. For more info see kwf2.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_kwf2"></a>Kartex 5 Waypoint File (kwf2)</h2></div></div></div><p>
+</p><p>Support for Kartex 5 trackfiles. For more info see kwf2.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_kwf2"></a>Kartex 5 Waypoint File (kwf2)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>Support for Kartex 5 waypoint files. Kartex is a Swedish
map and GPS positioning system. GPSBabel can read and write
files from Kartex 4 and 5 with WGS84 coordinates. UTM or
Swedish grid are not supported.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_psitrex"></a>KuDaTa PsiTrex text (psitrex)</h2></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_kompass_tk"></a>Kompass (DAV) Track (.tk) (kompass_tk)</h2></div></div></div><p class="fmtcapshdr">
+ This format can...
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
+ read and write tracks
+ </p></li></ul></div><p>
+This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
+format, so it has all of the same options as that format.
+</p><p>
+ This module supports track files used by Kompass and DAV "Deutscher Alpenverein".
+</p><p>
+ <a href="http://www.kompass.at" target="_top">Kompass</a> is a publishing company from Austria.
+ If you want to get more information about DAV, the German alpine association,
+ and if you are familiar with the german language, please have a look at their <a href="http://www.alpenverein.de" target="_top">homepage</a>.
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_kompass_wp"></a>Kompass (DAV) Waypoints (.wp) (kompass_wp)</h2></div></div></div><p class="fmtcapshdr">
+ This format can...
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
+ read and write waypoints
+ </p></li></ul></div><p>
+This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
+format, so it has all of the same options as that format.
+</p><p>
+ This module supports waypoint files used by Kompass and DAV "Deutscher Alpenverein".
+</p><p>
+ Some more information under <a href="#fmt_kompass_tk" title="Kompass (DAV) Track (.tk) (kompass_tk)">kompass_tk</a> format.
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_psitrex"></a>KuDaTa PsiTrex text (psitrex)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>This is a text format created by KuDaTa's PsiTrex program
+ </p></li></ul></div><p>This is a text format created by KuDaTa's PsiTrex program
for the Psion PDAs. The format can't be readily handled by XCSV, so
this format is handled explicitly. Waypoints, routes and tracks are
all handled, with icon names used corresponding to verison 1.13 of
PsiTrex. This module was contributed to GPSBabel by Mark
-Bradley.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_lowranceusr"></a>Lowrance USR (lowranceusr)</h2></div></div></div><p>
+Bradley.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_lowranceusr"></a>Lowrance USR (lowranceusr)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>
-The Lowrance iFinder GPS series has the unique capability
+ </p></li></ul></div><p>
+The <a href="http://www.lowrance.com" target="_top">Lowrance iFinder GPS</a> series has the unique capability
to output its data to an MMC card. The data is saved to the card as a
.USR file and can be read by your computer using a card reader.
Waypoints, routes, tracks are supported. By default, Event marker
icons are converted to waypoints. Symbols tend to get lost in the
translation.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_lowranceusr_o_ignoreicons"></a>ignoreicons option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_lowranceusr_o_ignoreicons"></a><code class="option">ignoreicons</code> option</h3></div></div></div><p>
Ignore event marker icons.
</p><p>
This option instructs GPSBabel to not convert icons to waypoints on input.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_lowranceusr_o_merge"></a>merge option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_lowranceusr_o_merge"></a><code class="option">merge</code> option</h3></div></div></div><p>
(USR output) Merge into one segmented track.
</p><p>
This option merges all tracks into a single track with multiple segments.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_lowranceusr_o_break"></a>break option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_lowranceusr_o_break"></a><code class="option">break</code> option</h3></div></div></div><p>
(USR input) Break segments into separate tracks.
</p><p>
This option breaks track segments into separate tracks when reading a .USR
file.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_maggeo"></a>Magellan Explorist Geocaching (maggeo)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_maggeo"></a>Magellan Explorist Geocaching (maggeo)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
write waypoints
- </p></li></ul></div><p>
- </p><p> The SD card format used by the Magellan Explorist 400,
-500, and 600 to describe geocaches. Notice what while the format can
+ </p></li></ul></div><p> This format support the on-card format used by the <a href="http://www.magellangps.com" target="_top">Magellan</a> Explorist 400,
+Explorist 500, Explorist 600, Explorist 210, and Explorist XL
+to describe geocaches. Notice what while the format can
hold an infinite number of geocaches, the unit will read and silently
discard all but 200 geocache POIs at a time.</p><p> You should name any file created with this format with a
".gs" extension so the firmware can read it.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_mapsend"></a>Magellan Mapsend (mapsend)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_mapsend"></a>Magellan Mapsend (mapsend)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
</p></li></ul></div><p>
- </p><p>
-This format supports the Magellan <span class="productname">MapSend</span>™ native
+This format supports the <a href="http://www.magellangps.com" target="_top">Magellan</a> <span class="productname">MapSend</span>™ native
file format.
</p><p>
Kudos to Magellan for having the foresight to document their file formats,
making software like this possible.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsend_o_trkver"></a>trkver option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_mapsend_o_trkver"></a><code class="option">trkver</code> option</h3></div></div></div><p>
MapSend version TRK file to generate (3,4).
</p><p>
This option sets the MapSend version to generate TRK files,
since new MapSend versions can't open version 3 files.
Valid values are 3 (MapSend v3.0) or 4 (MapSend v4.0 and v4.1).
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_magnav"></a>Magellan NAV Companion for Palm/OS (magnav)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_magnav"></a>Magellan NAV Companion for Palm/OS (magnav)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
-Magellan NAV Companion for Palm/OS is not really designed
+<a href="http://www.magellangs.com" target="_top">Magellan</a> NAV Companion for Palm/OS is not really designed
for this sort of use, but its file format is supported and with a
little bit of patience you can both read and write NAV Companion
waypoints. This conversion is based on
PalmOS, not of NAV Companion.)
</p><p>
To merge the databases, use a command line like the following:
-</p><pre class="screen">gpsbabel -i magnav -f Companion_Waypoints.PDB -i geo -f geocaching.loc -o magnav -F merged.pdb</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i magnav -f Companion_Waypoints.PDB -i geo -f geocaching.loc -o magnav -F merged.pdb</code></strong></p><p>
Second, you must use the installer to install your new PDB file. Don't
make the mistake of copying it over the existing Companion_Waypoints.PDB
file; the one on the handheld will overwrite it rather than merging with
has changed out from under it. One way to do this is to go to the
waypoints screen and attempt to scroll; that will force it to reread
the database and fix the record pointers that it keeps on the heap.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_magellanx"></a>Magellan SD files (as for eXplorist) (magellanx)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_magellanx"></a>Magellan SD files (as for eXplorist) (magellanx)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
</p></li></ul></div><p>
- </p><p>
- This is the SD card format used by the Magellan Explorist 400,
- 500, 600, and XL and internally on those devices plus the
- Explorist 210. Waypoints are identical to the Magellan SD format
- used by Meridian, but allows longer waypoint names. Routes are
+ This is the SD card format used by the <a href="http://www.magellangps.com" target="_top">Magellan</a> Explorist 400,
+ Explorist 500, Explorist 600, and Explorist XL and internally on those devices plus the
+ Explorist 210. Stored waypoints are identical to the <a href="#fmt_magellan" title="Magellan SD files (as for Meridian) (magellan)">Magellan SD format</a>
+ used by Meridian, but the newer models allow longer waypoint names. Routes are
subtly different.
</p><p>
You should name any file containing waypoints created with
this format with a ".upt" extension so the firmware can read it.
Similarly, routes should be named ".rte" and tracks should be
named ".log".
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellanx_o_deficon"></a>deficon option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellanx_o_deficon"></a><code class="option">deficon</code> option</h3></div></div></div><p>
Default icon name.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellanx_o_maxcmts"></a>maxcmts option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellanx_o_maxcmts"></a><code class="option">maxcmts</code> option</h3></div></div></div><p>
Max number of comments to write (maxcmts=200).
</p><p>
The maxcmts option allows you to specify the number comments that will
comments written to the receiver. For example, a geocacher might want
to upload 400 waypoints, but only 190 with comments so that DirectRoute
could provide driving directions for the next ten turns.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_magellan"></a>Magellan SD files (as for Meridian) (magellan)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_magellan"></a>Magellan SD files (as for Meridian) (magellan)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>GPSBabel supports the following Magellan receivers:
+ </p></li></ul></div><p>GPSBabel supports the following <a href="http://www.magellangps.com" target="_top">Magellan</a> receivers:
</p><table class="simplelist" border="0" summary="Simple list"><tr><td>310</td><td>Meridian Color</td></tr><tr><td>315</td><td>Explorist 100 (with aftermarket cable)</td></tr><tr><td>Map330</td><td>Explorist 200 (with aftermarket cable)</td></tr><tr><td>SporTrak Map Color</td><td>Explorist 300 (with aftermarket cable)</td></tr><tr><td>SporTrak Map</td><td>Explorist 210</td></tr><tr><td>SporTrak Map Pro</td><td>Explorist 300</td></tr><tr><td>SporTrak Map Topo</td><td>Explorist 400</td></tr><tr><td>Meridian (green or yellow)</td><td>Explorist 500</td></tr><tr><td>Meridian Gold</td><td>Explorist 600</td></tr><tr><td>Meridian Platinum</td><td>Explorist XL</td></tr></table><p>
</p><p>
This format is used for both the serial protocol used on the
devices with serial ports such as Map330 and Meridian and for
the files stored either in either the unit's internal memory
- (Explorist 210, 400, 500, 600, XL) or on removable memory.
+ (Explorist 210, Explorist 400, Explorist 500, Explorist 600,
+ Explorist XL) or on removable memory.
</p><p>
If you specify a serial port for the file (.e.g. "COM1", "/dev/ttyS0")
to be read or written, GPSBabel will use serial protocol. Specifying
a file, either on local filesystem or on a mounted flash card reader,
will results in the file-based format being used.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan_o_deficon"></a>deficon option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan_o_deficon"></a><code class="option">deficon</code> option</h3></div></div></div><p>
Default icon name.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan_o_maxcmts"></a>maxcmts option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan_o_maxcmts"></a><code class="option">maxcmts</code> option</h3></div></div></div><p>
Max number of comments to write (maxcmts=200).
</p><p>
The maxcmts option allows you to specify the number comments that will
comments written to the receiver. For example, a geocacher might want
to upload 400 waypoints, but only 190 with comments so that DirectRoute
could provide driving directions for the next ten turns.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_magellan1"></a>Magellan serial protocol (magellan)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_magellan1"></a>Magellan serial protocol (magellan)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>GPSBabel supports the following Magellan receivers:
+ </p></li></ul></div><p>GPSBabel supports the following <a href="http://www.magellangps.com" target="_top">Magellan</a> receivers:
</p><table class="simplelist" border="0" summary="Simple list"><tr><td>310</td><td>Meridian Color</td></tr><tr><td>315</td><td>Explorist 100 (with aftermarket cable)</td></tr><tr><td>Map330</td><td>Explorist 200 (with aftermarket cable)</td></tr><tr><td>SporTrak Map Color</td><td>Explorist 300 (with aftermarket cable)</td></tr><tr><td>SporTrak Map</td><td>Explorist 210</td></tr><tr><td>SporTrak Map Pro</td><td>Explorist 300</td></tr><tr><td>SporTrak Map Topo</td><td>Explorist 400</td></tr><tr><td>Meridian (green or yellow)</td><td>Explorist 500</td></tr><tr><td>Meridian Gold</td><td>Explorist 600</td></tr><tr><td>Meridian Platinum</td><td>Explorist XL</td></tr></table><p>
</p><p>
The RoadMate family of products is not supported.
If you specify a serial port for the file (.e.g. "COM1", "/dev/ttyS0")
to be read or written, GPSBabel will use serial protocol. Specifying
a file, either on local filesystem or on a mounted flash card reader,
- will results in the file-based format being used.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan1_o_deficon"></a>deficon option</h3></div></div></div><p>
+ will result in the file-based format being used.
+</p><p>
+ Users of the Explorist generation of receivers should probably
+ prefer to use the <a href="#fmt_magellan" title="Magellan SD files (as for Meridian) (magellan)">magellanx</a>
+ format over this one.
+
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan1_o_deficon"></a><code class="option">deficon</code> option</h3></div></div></div><p>
Default icon name.
</p><p>
This option specifies the icon or waypoint type to write for each waypoint on
overrides any icon description that might be in the input file.
</p><p>
This option has no effect on input.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan1_o_maxcmts"></a>maxcmts option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan1_o_maxcmts"></a><code class="option">maxcmts</code> option</h3></div></div></div><p>
Max number of comments to write (maxcmts=200).
</p><p>
The maxcmts option allows you to specify the number comments that will
comments written to the receiver. For example, a geocacher might want
to upload 400 waypoints, but only 190 with comments so that DirectRoute
could provide driving directions for the next ten turns.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan1_o_baud"></a>baud option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan1_o_baud"></a><code class="option">baud</code> option</h3></div></div></div><p>
Numeric value of bitrate (baud=4800).
</p><p>
This option causes GPSBabel to use the given baud rate for serial
default value matches the default on the receiver, 4800.
</p><p>
Valid options are 1200, 2400, 4800, 9600, 19200, 57600, and 115200.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan1_o_noack"></a>noack option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan1_o_noack"></a><code class="option">noack</code> option</h3></div></div></div><p>
Suppress use of handshaking in name of speed.
</p><p>
Magellan's protocol specification strongly encourages the use of software
from the unit, not doing donuts with the unit set to "track up" at a 150
mile scale with 500 waypoints on the screen) it is sometimes useful to
release that safety belt by using the "noack" suboption.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan1_o_nukewpt"></a>nukewpt option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_magellan1_o_nukewpt"></a><code class="option">nukewpt</code> option</h3></div></div></div><p>
Delete all waypoints.
</p><p>
This option erases all waypoints in the receiver before doing a transfer.
it. Using this option on transmit is a better idea than doing it on
receive since the latter would erase all the waypoints before asking the
unit to send all the waypoints.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tef"></a>Map&Guide 'TourExchangeFormat' XML (tef)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tef"></a>Map&Guide 'TourExchangeFormat' XML (tef)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read routes
</p></li></ul></div><p>
- </p><p>
TEF, internally called "TourExchangeFormat", is an XML based export format
used by Map&Guide <span class="productname">Motorrad-Routenplaner 2005/06</span>™.
</p><p>
Because this is only an export format, GPSBabel does not support writing to
this format.
</p><p>
-GPSBabel also supports the <a href="#fmt_bcr" title="Motorrad Routenplaner (Map">bcr</a> format, which
+GPSBabel also supports the <a href="#fmt_bcr" title="Motorrad Routenplaner (Map&Guide) .bcr files (bcr)">bcr</a> format, which
may also be used with this program and supports both reading and writing.
-</p><pre class="screen"> gpsbabel -r -i tef,routevia -f in.xml -o gpx -F out.gpx</pre><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tef_o_routevia"></a>routevia option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code> gpsbabel -r -i tef,routevia -f in.xml -o gpx -F out.gpx</code></strong></p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tef_o_routevia"></a><code class="option">routevia</code> option</h3></div></div></div><p>
Include only via stations in route.
</p><p>
This option may be used to eliminate calculated route points from the route.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_mag_pdb"></a>Map&Guide to Palm/OS exported files (.pdb) (mag_pdb)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_mag_pdb"></a>Map&Guide to Palm/OS exported files (.pdb) (mag_pdb)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read routes
- </p></li></ul></div><p>
- </p><p> With this format we support the Palm/OS export for
+ </p></li></ul></div><p> With this format we support the Palm/OS export for
Map&Guide based products like "PowerRoute",
"Motorrad-Routenplaner" and (maybe) other software. The exported files
can contain maps and/or route descriptions. The reader for this format
has been tested with PowerRoute 5+6, Motorrad-Routenplaner
-2002(-2006).</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_mapconverter"></a>Mapopolis.com Mapconverter CSV (mapconverter)</h2></div></div></div><p>
+2002(-2006).</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_mapconverter"></a>Mapopolis.com Mapconverter CSV (mapconverter)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>
The steps for using GPSBabel and Mapconverter go something like this:
</p><p>
Step 1: Create a mapconverter file using gpsbabel.
-</p><pre class="screen">gpsbabel -i geo -f geocaching.loc -o mapconverter -F foo.txt</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i geo -f geocaching.loc -o mapconverter -F foo.txt</code></strong></p><p>
Step 2: Launch mapconverter.exe and choose foo.txt as your input file.
Click the begin button to have mapconverter process foo.txt.
</p><p>
need a copy of mapconverter, ask on your local GPS Software discussion
forum and I'm sure someone will have it. As far as I know, It was never
actually acknowledged/supported by Mapopolis to begin with.
-</p></li></ul></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_mxf"></a>MapTech Exchange Format (mxf)</h2></div></div></div><p>
+</p></li></ul></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_mxf"></a>MapTech Exchange Format (mxf)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>Maptech Exchange Format - Another CSV format file. This
format complies with (at least) Maptech Terrain Navigator, Terrain
Professional, Take a Hike, and ExpertGPS import/export MFX.
-Contributed by Alex Mottram.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_msroute"></a>Microsoft AutoRoute 2002 (pin/route reader) (msroute)</h2></div></div></div><p>
+Contributed by Alex Mottram.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_msroute"></a>Microsoft AutoRoute 2002 (pin/route reader) (msroute)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read routes
- </p></li></ul></div><p>
- </p><p> Input support for Microsoft AutoRoute 2002-2006 .axe files
+ </p></li></ul></div><p> Input support for Microsoft AutoRoute 2002-2006 .axe files
and Microsoft Streets and Trips .est files.
These files contains only routes. We can extract the coordinates and
the names of the points within route. An export to this format will
interesting parts of the route to capture intersections or key turns.
GPSBabel will capture stops in the route and insert those as turns, so
adding stops at intersections can also improve the results when converting.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_msroute1"></a>Microsoft Streets and Trips (pin/route reader) (msroute)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_msroute1"></a>Microsoft Streets and Trips (pin/route reader) (msroute)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read routes
- </p></li></ul></div><p>
- </p><p> Input support for Microsoft AutoRoute 2002-2006 .axe files
+ </p></li></ul></div><p> Input support for Microsoft AutoRoute 2002-2006 .axe files
and Microsoft Streets and Trips .est files.
These files contains only routes. We can extract the coordinates and
the names of the points within route. An export to this format will
interesting parts of the route to capture intersections or key turns.
GPSBabel will capture stops in the route and insert those as turns, so
adding stops at intersections can also improve the results when converting.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_s_and_t"></a>Microsoft Streets and Trips 2002-2006 (s_and_t)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_s_and_t"></a>Microsoft Streets and Trips 2002-2006 (s_and_t)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
-</p><p> This is a format for importing into Microsoft Streets and
-Trips. It's been exercised on versions 2003, 2004, and 2005. Detailed
+</p><p> This is a format for importing into
+<a href="http://www.microsoft.com/streets/default.mspx" target="_top"> Microsoft Streets and
+Trips</a>. It's been exercised on versions from 2003 through 2007. Detailed
instructions on how to use it, including preserving hyperlinks, are at
<a href="http://www.gpsbabel.org/formats/s_and_t/Importing_into_Microsoft_Streets_and_Trips_2003.html" target="_top">gpsbabel.org</a>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_bcr"></a>Motorrad Routenplaner (Map&Guide) .bcr files (bcr)</h2></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_bcr"></a>Motorrad Routenplaner (Map&Guide) .bcr files (bcr)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>
+ </p></li></ul></div><p>
This file format (extension .bcr) is used in Map&Guide
<span class="productname">Motorrad Routenplaner 2002</span>™ and later versions.
BCR is a route-only format. If you own a newer release (2005 or later) you
-may also use the XML export with GPSBabel's <a href="#fmt_tef" title="Map">tef</a>
+may also use the XML export with GPSBabel's <a href="#fmt_tef" title="Map&Guide 'TourExchangeFormat' XML (tef)">tef</a>
input format.
</p><p>
There may be other products from Map&Guide that use this format as well.
conversion from the Mercator projection to polar (latitude/longitude)
coordinates and back again may result in visible differences. Experience
reports are welcome.
-</p><div class="example"><a id="sample_bcr_command"></a><p class="title"><b>Example 3.2. Sample BCR command with all options</b></p><pre class="screen">gpsbabel -r -i gpx -f in.gpx -o bcr,index=1,name="From A to B",radius=6371012 -F a_to_b.bcr</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_bcr_o_index"></a>index option</h3></div></div></div><p>
+</p><div class="example"><a id="sample_bcr_command"></a><p class="title"><b>Example 3.2. Sample BCR command with all options</b></p><div class="example-contents"><p><strong class="userinput"><code>gpsbabel -r -i gpx -f in.gpx -o bcr,index=1,name="From A to B",radius=6371012 -F a_to_b.bcr</code></strong></p></div></div><br class="example-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_bcr_o_index"></a><code class="option">index</code> option</h3></div></div></div><p>
Index of route to write (if more the one in source).
</p><p>
Because the format supports only one route, this option may be used
routes read from a more expressive format. If you have, say, a
<a href="#fmt_gpx" title="GPX XML (gpx)">gpx</a> file that contains two routes, you may
use this option to write them one at a time to individual files.
-</p><pre class="screen">gpsbabel -i gpx -f routes.gpx -o bcr,index=1 -F route1.bcr -o bcr,index=2 -F route2.bcr</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_bcr_o_name"></a>name option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f routes.gpx -o bcr,index=1 -F route1.bcr -o bcr,index=2 -F route2.bcr</code></strong></p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_bcr_o_name"></a><code class="option">name</code> option</h3></div></div></div><p>
New name for the route.
</p><p>
This route specifies the name of the route. This is particularly useful if
the route came from an input format that did not support named routes, but
it may also be used to rename a route.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_bcr_o_radius"></a>radius option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_bcr_o_radius"></a><code class="option">radius</code> option</h3></div></div></div><p>
Radius of our big earth (default 6371000 meters).
</p><p>
This option instructs GPSBabel to use a different value for the radius of
</p><p>
Careful experimentation with this value may help to reduce conversion
errors.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_psp"></a>MS PocketStreets 2002 Pushpin (psp)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_bcr_o_prefer_shortnames"></a><code class="option">prefer_shortnames</code> option</h3></div></div></div><p>
+ Use shortname instead of description.
+ </p><p>
+This option causes GPSBabel to use the short name of the waypoint instead
+of the description.
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_psp"></a>MS PocketStreets 2002 Pushpin (psp)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
Microsoft's PocketStreets 2002 Pushpin (.PSP) format is
not yet completely documented. <span class="emphasis"><em>The .PSP module does not work with
MS Streets & Trips 2002 .EST files</em></span> To create .PSP files from
unused in PocketStreets. This is a good thing as it allows us to
create one big .PSP file that covers multiple .MPS files.
Unfortunately, you need one .PSP file for every .MPS file.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_psp_faq"></a>Frequently Asked Questions</h3></div></div></div><div class="qandaset"><dl><dt>1. <a href="#id2579168">
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_psp_faq"></a>Frequently Asked Questions</h3></div></div></div><div class="qandaset"><dl><dt>1. <a href="#why">
Why should I use GPSBabel/psp to make pushpins when Streets & Trips (S&T)
already does that for me?
-</a></dt><dt>2. <a href="#id2579209">
+</a></dt><dt>2. <a href="#blank">
I keep getting a blank (32 byte) PSP file.
-</a></dt><dt>3. <a href="#id2579241">
+</a></dt><dt>3. <a href="#now_what">
I've created a PSP file, now what do I do with it?
-</a></dt><dt>4. <a href="#id2579263">
+</a></dt><dt>4. <a href="#no_map">
I don't have a map. What do I do now?
-</a></dt><dt>5. <a href="#id2579289">
+</a></dt><dt>5. <a href="#have_est">
I have .EST files, not .PSP files. What's up with that?
-</a></dt><dt>6. <a href="#id2579309">
+</a></dt><dt>6. <a href="#coord_jitter">
The .PSP files differ when I use GPSBabel/psp versus Pocketstreets to
create them. What's up?
-</a></dt><dt>7. <a href="#id2579334">
+</a></dt><dt>7. <a href="#mappoint">
Does GPSBabel/psp work with (Autoroute, Mappoint, etc..) .PSP files?
-</a></dt><dt>8. <a href="#id2579355">
+</a></dt><dt>8. <a href="#after2001">
Does GPSBabel/psp work with (S&T 2001, S&T 2002, etc...) files?
-</a></dt><dt>9. <a href="#id2579377">
+</a></dt><dt>9. <a href="#non_us">
Does GPSBabel/psp work with (insert your country/location here) maps?
-</a></dt><dt>10. <a href="#id2579402">
+</a></dt><dt>10. <a href="#wrong_coords">
What do you mean S&T writes points with the wrong coordinates?
-</a></dt><dt>11. <a href="#id2579434">
+</a></dt><dt>11. <a href="#splitting">
I have 800 waypoints that cover a dozen or so Pocketstreets maps.
Do I need to to split my points up into smaller chunks to match the
area covered by the maps?
-</a></dt><dt>12. <a href="#id2579458">
+</a></dt><dt>12. <a href="#doc_for_layout">
Where can I find documentation for the layout of PSP files?
-</a></dt><dt>13. <a href="#id2579478">
+</a></dt><dt>13. <a href="#morehelp">
I have some other problem, what do I do?
-</a></dt></dl><table border="0" summary="Q and A Set"><col align="left" width="1%" /><tbody><tr class="question"><td align="left" valign="top"><a id="id2579168"></a><a id="id2579171"></a><b>1.</b></td><td align="left" valign="top"><p>
+</a></dt></dl><table border="0" summary="Q and A Set"><col align="left" width="1%" /><tbody><tr class="question"><td align="left" valign="top"><a id="why"></a><a id="id2579092"></a><b>1.</b></td><td align="left" valign="top"><p>
Why should I use GPSBabel/psp to make pushpins when Streets & Trips (S&T)
already does that for me?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
GPSBabel/psp has the advantage of being able to create pushpins
<span class="emphasis"><em>without</em></span>
creating the associated map file and the need to "import" the waypoint
<span class="emphasis"><em>with the proper coordinates</em></span>
where S&T does not in some areas of the U.S.
(Nashville, TN for instance).
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579209"></a><a id="id2579211"></a><b>2.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="blank"></a><a id="id2579137"></a><b>2.</b></td><td align="left" valign="top"><p>
I keep getting a blank (32 byte) PSP file.
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
There are either no points to write, or you have botched the command
line for GPSBabel. GPSBabel is sensitive to UPPER and lower case
on the command line. A simple command line to create PSP files
looks like this:
-</p><pre class="screen">gpsbabel -i geo -f geocaching.loc -o psp -F NewOrleans.psp</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i geo -f geocaching.loc -o psp -F NewOrleans.psp</code></strong></p><p>
Note the use of "-f" for INPUT files and "-F" for OUTPUT files.
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579241"></a><a id="id2579243"></a><b>3.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="now_what"></a><a id="id2579174"></a><b>3.</b></td><td align="left" valign="top"><p>
I've created a PSP file, now what do I do with it?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
To use pushpins in Pocketstreets, you need to have both a map and a
pushpin file. These two files must exist in the same folder and have
exactly the same base name as the map. For example, the pins that
correspond to the map "NewOrleans.mps" should be named "NewOrleans.psp".
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579263"></a><a id="id2579265"></a><b>4.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="no_map"></a><a id="id2579798"></a><b>4.</b></td><td align="left" valign="top"><p>
I don't have a map. What do I do now?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
Create one using the "Export map to Pocketstreets" option in S&T. You
can also pick up some major city maps on the web from the MS Pocketstreets
website if you are interested in seeing how it works.
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579289"></a><a id="id2579291"></a><b>5.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="have_est"></a><a id="id2579828"></a><b>5.</b></td><td align="left" valign="top"><p>
I have .EST files, not .PSP files. What's up with that?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
In order to make PSP files, you need to use the "Export map to
Pocketstreets" function in S&T. .EST files are for use in S&T, not
Pocketstreets.
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579309"></a><a id="id2579311"></a><b>6.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="coord_jitter"></a><a id="id2579853"></a><b>6.</b></td><td align="left" valign="top"><p>
The .PSP files differ when I use GPSBabel/psp versus Pocketstreets to
create them. What's up?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
Pocketstreets makes corrections to the S&T waypoint data upon initial
loading. GPSBabel/psp writes PSP files with these corrections already made.
Ask MS.
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579334"></a><a id="id2579336"></a><b>7.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="mappoint"></a><a id="id2579881"></a><b>7.</b></td><td align="left" valign="top"><p>
Does GPSBabel/psp work with (Autoroute, Mappoint, etc..) .PSP files?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
As of this writing, I haven't seen any so I can't be sure. If they
follow the same layout as S&T 2002, I'd imagine so.
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579355"></a><a id="id2579357"></a><b>8.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="after2001"></a><a id="id2579906"></a><b>8.</b></td><td align="left" valign="top"><p>
Does GPSBabel/psp work with (S&T 2001, S&T 2002, etc...) files?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
MS changed the file layout between S&T 2001 and S&T 2002. The GPSBabel psp
module is known to work fine with S&T 2002 and 2003.
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579377"></a><a id="id2579379"></a><b>9.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="non_us"></a><a id="id2579932"></a><b>9.</b></td><td align="left" valign="top"><p>
Does GPSBabel/psp work with (insert your country/location here) maps?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
If it doesn't, feel free to inquire on the
<a href="https://lists.sourceforge.net/lists/listinfo/gpsbabel-misc" target="_top">GPSBabel-Misc</a>
mailing list.
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579402"></a><a id="id2579404"></a><b>10.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="wrong_coords"></a><a id="id2579961"></a><b>10.</b></td><td align="left" valign="top"><p>
What do you mean S&T writes points with the wrong coordinates?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
At some point in the "Export map to Pocketstreets" function in S&T,
it goofs the lat/long data. Points in Nashville tended to shift
1.4 miles WEST of their original location. I'm not a geometry buff,
but I'd imagine they have a reference point for generating coordinates
that's wrong in (at least) that area.
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579434"></a><a id="id2579436"></a><b>11.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="splitting"></a><a id="id2579997"></a><b>11.</b></td><td align="left" valign="top"><p>
I have 800 waypoints that cover a dozen or so Pocketstreets maps.
Do I need to to split my points up into smaller chunks to match the
area covered by the maps?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
No. Pocketstreets will "ignore" points that are outside of the map
area. Points that are not on the current map will be "grayed out"
in pushpin explorer in Pocketsreets. This is the reason the PSP
module was written for GPSBabel in the first place.
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579458"></a><a id="id2579460"></a><b>12.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="doc_for_layout"></a><a id="id2580024"></a><b>12.</b></td><td align="left" valign="top"><p>
Where can I find documentation for the layout of PSP files?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
Just about everything I know about the PSP file format is documented
in the source. To the best of my knowledge, there is no documentation
(and for good reason, I've come to discover).
-</p></td></tr><tr class="question"><td align="left" valign="top"><a id="id2579478"></a><a id="id2579481"></a><b>13.</b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="question"><td align="left" valign="top"><a id="morehelp"></a><a id="id2580049"></a><b>13.</b></td><td align="left" valign="top"><p>
I have some other problem, what do I do?
-</p></td></tr><tr class="answer"><td align="left" valign="top"><b></b></td><td align="left" valign="top"><p>
+</p></td></tr><tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p>
Ask your question on the <a href="https://lists.sourceforge.net/lists/listinfo/gpsbabel-misc" target="_top">GPSBabel-Misc</a> mailing list.
-</p></td></tr></tbody></table></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tpg"></a>National Geographic Topo .tpg (waypoints) (tpg)</h2></div></div></div><p>
+</p></td></tr></tbody></table></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tpg"></a>National Geographic Topo .tpg (waypoints) (tpg)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p>National Geographic Topo! Waypoint and Route Format. This module
+ </p></li></ul></div><p>National Geographic Topo! Waypoint and Route Format. This module
reads and writes .TPG files created by various editions of NG Topo!
-Reading/writing of route data is not supported yet.</p><p>Contributed by Alex Mottram.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tpg_o_datum"></a>datum option</h3></div></div></div><p>
+Reading/writing of route data is not supported yet.</p><p>Contributed by Alex Mottram.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tpg_o_datum"></a><code class="option">datum</code> option</h3></div></div></div><p>
Datum (default=NAD27).
</p><p>The option 'datum="datum name"' can be used to override
the default of NAD27 ("N. America 1927 mean") which is correct for the
-continental U.S. Points in Hawaii should use "Old
-Hawaiian_mean"</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tpo2"></a>National Geographic Topo 2.x .tpo (tpo2)</h2></div></div></div><p>
+continental U.S.</p><p>Any legal <a href="#Datums" title="Appendix A. Supported Datums">datum supported
+by GPSBabel</a> may be used. For example, points in Hawaii should
+use "Old Hawaiian_mean".</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tpo2"></a>National Geographic Topo 2.x .tpo (tpo2)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read tracks
</p></li></ul></div><p>
- </p><p>
This module reads tracks from .TPO files created by
National Geographic Topo! version 2.x
</p><p>
Contributed by Steve Chamberlin.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tpo3"></a>National Geographic Topo 3.x/4.x .tpo (tpo3)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tpo3"></a>National Geographic Topo 3.x/4.x .tpo (tpo3)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read routes
- </p></li></ul></div><p>
- </p><p>This module reads .TPO files created by National Geographic Topo! version
+ </p></li></ul></div><p>This module reads .TPO files created by National Geographic Topo! version
3.x and 4.x. It will read tracks, routes, waypoints, map notes, symbols, and
-text notes. The latter three are converted to waypoints.</p><p>Contributed by Curt Mills.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_navicache"></a>Navicache.com XML (navicache)</h2></div></div></div><p>
+text notes. The latter three are converted to waypoints.</p><p>Contributed by Curt Mills.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_navicache"></a>Navicache.com XML (navicache)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read waypoints
- </p></li></ul></div><p>
- </p><p>This is the XML format that's used by Navicache.com for
+ </p></li></ul></div><p>This is the XML format that's used by Navicache.com for
their geocaching data. There are a number of fields in it that are
marked "required" but are Navicache-specific, so GPSBabel can not
write these files, but we can still read them. <a href="http://www.navicache.com/cgi-bin/ib312a/ikonboard.cgi?act=ST;f=23;t=334" target="_top">navicache.com</a>
- </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_navicache_o_noretired"></a>noretired option</h3></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_navicache_o_noretired"></a><code class="option">noretired</code> option</h3></div></div></div><p>
Suppress retired geocaches.
- </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_nmn4"></a>Navigon Mobile Navigator .rte files (nmn4)</h2></div></div></div><p>
+ </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_nmn4"></a>Navigon Mobile Navigator .rte files (nmn4)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>Support for Navigon Mobile Navigator route (.rte) files.
+ </p></li></ul></div><p>Support for Navigon Mobile Navigator route (.rte) files.
This is a very simple text format that only requires coordinates, but
has fields for many other things. We only write coordinates as fields
like 'city' and 'street' cannot typically be populated from other
formats. <a href="http://www.navigon.com" target="_top">www.navigon.com</a>
- </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmn4_o_index"></a>index option</h3></div></div></div><p>
+ </p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmn4_o_index"></a><code class="option">index</code> option</h3></div></div></div><p>
Index of route to write (if more the one in source).
</p><p>
Because the format supports only one route, this option may be used
routes read from a more expressive format. If you have, say, a
<a href="#fmt_gpx" title="GPX XML (gpx)">gpx</a> file that contains two routes, you may
use this option to write them one at a time to individual files.
-</p><pre class="screen">gpsbabel -i gpx -f routes.gpx -o nmn4,index=1 -F route1.rte -o nmn4,index=2 -F route2.rte</pre></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_dna"></a>Navitrak DNA marker format (dna)</h2></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f routes.gpx -o nmn4,index=1 -F route1.rte -o nmn4,index=2 -F route2.rte</code></strong></p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_dna"></a>Navitrak DNA marker format (dna)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>Navitrak DNA marker format - Another CSV format file. This
is the format that is compatible with the DNA Desktop import/export
command. Reading the binary Markers.jwp format directly off the data
-card is not supported yet. Contributed by Tim Zickus.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_netstumbler"></a>NetStumbler Summary File (text) (netstumbler)</h2></div></div></div><p>
+card is not supported yet. Contributed by Tim Zickus.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_netstumbler"></a>NetStumbler Summary File (text) (netstumbler)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read waypoints
</p></li></ul></div><p>
- </p><p>
This format reads summary files from <span class="productname">NetStumbler</span>™
<span class="productnumber">0.4</span> or <span class="productname">MacStumbler</span>™.
</p><p>
<a href="http://www.netstumbler.com/" target="_top">NetStumbler</a>
</p><p>
<a href="http://www.macstumbler.com/" target="_top">MacStumbler</a>
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_netstumbler_o_nseicon"></a>nseicon option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_netstumbler_o_nseicon"></a><code class="option">nseicon</code> option</h3></div></div></div><p>
Non-stealth encrypted icon name.
</p><p>
This option specifies the name of the icon to use for
non-stealth, encrypted access points.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_netstumbler_o_nsneicon"></a>nsneicon option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_netstumbler_o_nsneicon"></a><code class="option">nsneicon</code> option</h3></div></div></div><p>
Non-stealth non-encrypted icon name.
</p><p>
This option specifies the name of the icon to use for
non-stealth, non-encrypted access points.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_netstumbler_o_seicon"></a>seicon option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_netstumbler_o_seicon"></a><code class="option">seicon</code> option</h3></div></div></div><p>
Stealth encrypted icon name.
</p><p>
This option specifies the name of the icon to use for
stealth, encrypted access points.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_netstumbler_o_sneicon"></a>sneicon option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_netstumbler_o_sneicon"></a><code class="option">sneicon</code> option</h3></div></div></div><p>
Stealth non-encrypted icon name.
</p><p>
This option specifies the name of the icon to use for
stealth, non-encrypted access points.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_netstumbler_o_snmac"></a>snmac option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_netstumbler_o_snmac"></a><code class="option">snmac</code> option</h3></div></div></div><p>
Shortname is MAC address.
</p><p>
This option causes GPSBabel to use the MAC address as the short name for the
waypoint. The unmodified SSID is included in the waypoint description.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_nima"></a>NIMA/GNIS Geographic Names File (nima)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_nima"></a>NIMA/GNIS Geographic Names File (nima)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>This is a CSV format from the National Imagery and Mapping
-Agency.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_nmea"></a>NMEA 0183 sentences (nmea)</h2></div></div></div><p>
+Agency.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_nmea"></a>NMEA 0183 sentences (nmea)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li></ul></div><p>
- </p><p> This format is the file representation of the NMEA
+ </p></li></ul></div><p> This format is the file representation of the NMEA
(National Marine Electronics Association) 0183
log and waypoint format for GPS devices. Some hardware and software
that work with NMEA-0183 formatted data include:
</p><table class="simplelist" border="0" summary="Simple list"><tr><td>
<a href="http://homepages.tig.com.au/~robk/datalogger.html" target="_top">GPS Data Logger</a>
</td><td>
- <a href="http://www.silcom.com/~rwhately/index.html" target="_top">NMEAlog</a>
+ <a href="http://www.visualgps.net/VisualGPSce/default.htm" target="_top">VisualGPS</a>
</td><td>
- <a href="http://www.kolumbus.fi/eino.uikkanen/geoconvgb/index.htm" target="_top">GeoConv</a>
+ <a href="http://www.sparkfun.com/" target="_top">SparkFun GPS Datalogger</a>
</td></tr><tr><td>
<a href="http://www.gpstm.com/eng/features_eng.htm " target="_top">GPS TrackMaker</a>
</td><td>
- <a href="http://www.visualgps.net/VisualGPSce/default.htm" target="_top">VisualGPS</a>
+ <a href="http://www.gpsu.co.uk/" target="_top">GPS Utility</a>
</td><td>
- <a href="http://www.commlinx.com.au/GPS_recorder.htm" target="_top">CommLinx GPS recorder</a>
+ <a href="http://www.sonystyle.com/is-bin/INTERSHOP.enfinity/eCS/Store/en/-/USD/SY_DisplayProductInformation-Start?ProductSKU=GPSCS1" target="_top">Sony GPS-CS1</a>
</td></tr><tr><td>
<a href="http://www.gpsmaster.nl/ " target="_top">GPSMaster</a>
</td><td>
- <a href="http://www.gpsu.co.uk/" target="_top">GPS Utility</a>
+ <a href="http://www.kolumbus.fi/eino.uikkanen/geoconvgb/index.htm" target="_top">GeoConv</a>
+</td><td> </td></tr><tr><td>
+ <a href="http://www.silcom.com/~rwhately/index.html" target="_top">NMEAlog</a>
</td><td>
- <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=671" target="_top">SparkFun GPS Datalogger</a>
-</td></tr></table><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_snlen"></a>snlen option</h3></div></div></div><p>
+ <a href="http://www.commlinx.com.au/GPS_recorder.htm" target="_top">CommLinx GPS recorder</a>
+</td><td> </td></tr></table><p>
+This module also supports <a href="#tracking" title="Realtime tracking">realtime tracking</a>
+which allows realtime position reports from a GPS, such as one connected
+serially, over Bluetooth, or a USB module emulating a serial port, to be used
+with selected output formats.
+</p><p>
+When used in <a href="#tracking" title="Realtime tracking">realtime tracking</a> mode, if
+GPSBabel does not sense incoming NMEA sentences arriving from the port, it
+will send Sirf "reset to NMEA" commands to the port at a variety of speeds
+in an attempt to communicate with an attached GPS. This lets devices
+like the Microsoft GPS or Pharos GPS that are Sirf chips with an integrated
+USB/Serial adapter work with this input format.
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_snlen"></a><code class="option">snlen</code> option</h3></div></div></div><p>
Max length of waypoint name to write.
</p><p>
This option specifies the maximum length to be used for waypoint names in
the GPWPL sentence. Longer names will be shortened to no more than this
length, but all waypoint names will remain unique.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_gprmc"></a>gprmc option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_gprmc"></a><code class="option">gprmc</code> option</h3></div></div></div><p>
Read/write GPRMC sentences.
</p><p>
This option tells GPSBabel whether to read (on input) or write (on output)
GPRMC sentences contain the "recommended mimimum" positional information,
including date and time, heading, and velocity. Note that they do not
include altitude. For altitude, you will have to include GPGGA sentences.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_gpgga"></a>gpgga option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_gpgga"></a><code class="option">gpgga</code> option</h3></div></div></div><p>
Read/write GPGGA sentences.
</p><p>
This option tells GPSBabel whether to read (on input) or write (on output)
disable GPGGA sentences, specify <code class="option">gpgga=0</code>.
</p><p>
GPGGA sentences contain the location and quality of the GPS position fix.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_gpvtg"></a>gpvtg option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_gpvtg"></a><code class="option">gpvtg</code> option</h3></div></div></div><p>
Read/write GPVTG sentences.
</p><p>
This option tells GPSBabel whether to read (on input) or write (on output)
GPVTG sentences contain information about the heading and the speed at the
time of the fix. They do not contain any location information; for that
you will need either or both of GPGGA or GPRMC.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_gpgsa"></a>gpgsa option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_gpgsa"></a><code class="option">gpgsa</code> option</h3></div></div></div><p>
Read/write GPGSA sentences.
</p><p>
This option tells GPSBabel whether to read (on input) or write (on output)
and the individual satellites from which it was derived. However, GPSBabel
neither reads nor writes the individual satellite data. On input, the
satellite fields are ignored and on output they are left blank.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_date"></a>date option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_date"></a><code class="option">date</code> option</h3></div></div></div><p>
Complete date-free tracks with given date (YYYYMMDD)..
</p><p>
On input, track points with times but no dates will have this date applied.
This is necessary because some NMEA sentences contain times but no dates. If
this option is not specified and the date cannot be determined from one or
more of the available NMEA sentences, the tracks will be discarded.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_get_posn"></a>get_posn option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_get_posn"></a><code class="option">get_posn</code> option</h3></div></div></div><p>
Return current position as a waypoint.
</p><p>This options, when specified, returns the current position as a single
waypoint.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_pause"></a>pause option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_pause"></a><code class="option">pause</code> option</h3></div></div></div><p>
Decimal seconds to pause between groups of strings.
</p><p>
This option tells GPSBabel to pause between individual track records when
If you are using this option with compressed or simplified tracks from
your handheld GPS receiver, you might find the
<a href="#filter_interpolate" title="Interpolate between trackpoints (interpolate)">interpolate</a> filter useful.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_baud"></a>baud option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nmea_o_baud"></a><code class="option">baud</code> option</h3></div></div></div><p>
Speed in bits per second of serial port (baud=4800).
</p><p>
To the "nmea" module, the "baud" option specifies the baud rate of the
serial connection when used with the real-time tracking option.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_ozi"></a>OziExplorer (ozi)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_ozi"></a>OziExplorer (ozi)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>OziExplorer Waypoint Format - Another CSV format file.
+ </p></li></ul></div><p>OziExplorer Waypoint Format - Another CSV format file.
Tested against OziExplorer v 3.90.3a / Shareware. Contributed by Alex
-Mottram</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_snlen"></a>snlen option</h3></div></div></div><p>
+Mottram</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_snlen"></a><code class="option">snlen</code> option</h3></div></div></div><p>
Max synthesized shortname length.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_snwhite"></a>snwhite option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_snwhite"></a><code class="option">snwhite</code> option</h3></div></div></div><p>
Allow whitespace synth. shortnames.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_snupper"></a>snupper option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_snupper"></a><code class="option">snupper</code> option</h3></div></div></div><p>
UPPERCASE synth. shortnames.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_snunique"></a>snunique option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_snunique"></a><code class="option">snunique</code> option</h3></div></div></div><p>
Make synth. shortnames unique.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_wptfgcolor"></a>wptfgcolor option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_wptfgcolor"></a><code class="option">wptfgcolor</code> option</h3></div></div></div><p>
Waypoint foreground color.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_wptbgcolor"></a>wptbgcolor option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_ozi_o_wptbgcolor"></a><code class="option">wptbgcolor</code> option</h3></div></div></div><p>
Waypoint background color.
- </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_palmdoc"></a>PalmDoc Output (palmdoc)</h2></div></div></div><p>
+ </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_palmdoc"></a>PalmDoc Output (palmdoc)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
write waypoints
- </p></li></ul></div><p>
- </p><p>
+ </p></li></ul></div><p>
PalmDoc output is similar to <a href="#fmt_text" title="Textual Output (text)">Text</a>
output, except that it generates a Palm Database (PDB) file suitable for
use with programs like CSpotRun, TealDoc, AportisDoc, Palm Reader, and
</p><p>
The following command line reads a GPX file with Groundspeak extensions
and writes a Palm document with encrypted hints and logs:
-</p><pre class="screen">gpsbabel -i gpx -f 12345.gpx -o "palmdoc,dbname=Unfound Geocaches,encrypt,logs" -F 12345.pdb</pre><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_palmdoc_o_nosep"></a>nosep option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f 12345.gpx -o "palmdoc,dbname=Unfound Geocaches,encrypt,logs" -F 12345.pdb</code></strong></p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_palmdoc_o_nosep"></a><code class="option">nosep</code> option</h3></div></div></div><p>
No separator lines between waypoints.
</p><p>
To suppress the dashed lines between waypoints, use this option.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_palmdoc_o_dbname"></a>dbname option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_palmdoc_o_dbname"></a><code class="option">dbname</code> option</h3></div></div></div><p>
Database name.
</p><p>
This option specifies the internal name for the document. This is the name
that appears in your document reader, not the name of the file that is created
on your computer.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_palmdoc_o_encrypt"></a>encrypt option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_palmdoc_o_encrypt"></a><code class="option">encrypt</code> option</h3></div></div></div><p>
Encrypt hints with ROT13.
</p><p>
Use this option to encrypt hints from Groundspeak GPX files.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_palmdoc_o_logs"></a>logs option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_palmdoc_o_logs"></a><code class="option">logs</code> option</h3></div></div></div><p>
Include groundspeak logs if present.
</p><p>
Use this option to include Groundspeak cache logs in the created document.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_palmdoc_o_bookmarks_short"></a>bookmarks_short option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_palmdoc_o_bookmarks_short"></a><code class="option">bookmarks_short</code> option</h3></div></div></div><p>
Include short name in bookmarks.
</p><p>
If you would like the generated bookmarks to start with
</p><p>
This is particularly useful when used in combination with the 'sort'
filter.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_pathaway"></a>PathAway Database for Palm/OS (pathaway)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_pathaway"></a>PathAway Database for Palm/OS (pathaway)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p> PathAway is a Palm software designed for handling "most"
+ </p></li></ul></div><p> PathAway is a Palm software designed for handling "most"
GPS devices (including BlueTooth). In this time (I mean 2005) a free
tool to convert this database is located on the homepage of PathAway
(www.pathaway.com). But I've read there ... for windows and the output
formats are also very limited.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pathaway_o_date"></a>date option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pathaway_o_date"></a><code class="option">date</code> option</h3></div></div></div><p>
Read/Write date format (i.e. DDMMYYYY).
</p><p>
This option specifies the input and output format for the date. The format
is written similarly to those in Windows. An example format is "YYMMDD".
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pathaway_o_dbname"></a>dbname option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pathaway_o_dbname"></a><code class="option">dbname</code> option</h3></div></div></div><p>
Database name.
</p><p>
This option specifies the database name for the output file. This name is
not the same thing as the file name on your computer; this is the name that
appears in the file browser on your handheld.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pathaway_o_deficon"></a>deficon option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pathaway_o_deficon"></a><code class="option">deficon</code> option</h3></div></div></div><p>
Default icon name.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pathaway_o_snlen"></a>snlen option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_pathaway_o_snlen"></a><code class="option">snlen</code> option</h3></div></div></div><p>
Length of generated shortnames.
- </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_quovadis"></a>Quovadis (quovadis)</h2></div></div></div><p>
+ </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_quovadis"></a>Quovadis (quovadis)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p> QuoVadis for Palm OS <a href="http://www.marcosoft.com/" target="_top">marcosoft.com</a> is a program for
+ </p></li></ul></div><p> QuoVadis for Palm OS <a href="http://www.marcosoft.com/" target="_top">marcosoft.com</a> is a program for
Palm/OS. Working with record definitions provided by MarcoSoft and
further experimentation by Bruce Thompson and "Fuzzy" from the
Geocaching Forums to nail down the format precisely.</p><p> Should work fine for import and export.</p><p> One thing of note, QuoVadis stores all waypoints in a
and the other waypoint files of interest.</p><p> Currently the selection of icons to display and the scale
at which to display them is hardcoded. Also there is no support for
notes associated with waypoints. This will be addressed in a future
-revision.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_quovadis_o_dbname"></a>dbname option</h3></div></div></div><p>
+revision.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_quovadis_o_dbname"></a><code class="option">dbname</code> option</h3></div></div></div><p>
Database name.
</p><p>
This option specifies the database name for the output file. This name is
not the same thing as the file name on your computer; this is the name that
appears in the file browser on your handheld.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_cup"></a>See You flight analysis data (cup)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_raymarine"></a>Raymarine Waypoint File (.rwf) (raymarine)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
+ read and write waypoints
+ </p></li><li><p class="fmtcapsitem">
+ read and write routes
+ </p></li></ul></div><p>
+ This format supports the "Raymarine Waypoint File" format (.rwf).
+ More information to Raymarine you'll find at their <a href="http://www.raymarine.com" target="_top">homepage</a>.
+</p><p>
+ Known limits: max. 16 characters for waypoint names and max. 50 waypoints per route.
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_raymarine_o_location"></a><code class="option">location</code> option</h3></div></div></div><p>
+ Default location.
+ </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_cup"></a>See You flight analysis data (cup)</h2></div></div></div><p class="fmtcapshdr">
+ This format can...
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>
written as blanks and ignored on read.
</p><p>
Tasks are not supported.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_sportsim"></a>Sportsim track files (part of zipped .ssz files) (sportsim)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_sportsim"></a>Sportsim track files (part of zipped .ssz files) (sportsim)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p>
</p><p>
Sportsim provide software applications and web-based graphically
simulated performance information and image solutions to outdoor active people.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_stmsdf"></a>Suunto Trek Manager (STM) .sdf files (stmsdf)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_stmsdf"></a>Suunto Trek Manager (STM) .sdf files (stmsdf)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
</p></li></ul></div><p>
- </p><p>
This format supports the .sdf files from the Suunto product family
'Suunto Trek Manager', 'Suunto Ski Manager' and 'Suunto Sail Manager'.
The contents of the sdf file depends on the used product and can
</p><p>
Currently we can read the following file types:
</p><table class="simplelist" border="0" summary="Simple list"><tr><td>4 = M9 TrackLog</td></tr><tr><td>5 = Route</td></tr><tr><td>28 = X9 TrackLog</td></tr></table><p>
-</p><p>
- </p><pre class="screen">gpsbabel -i gpx -f some-routes.gpx -r -o stmsdf,index=3 -F single-route.sdf</pre><p>
-</p><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f some-routes.gpx -r -o stmsdf,index=3 -F single-route.sdf</code></strong></p><p>
<a href="http://www.suunto.fi" target="_top">Suunto Website</a>
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_stmsdf_o_index"></a>index option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_stmsdf_o_index"></a><code class="option">index</code> option</h3></div></div></div><p>
Index of route (if more the one in source).
</p><p>
Convert route number 'index' from source into sdf format.
Our default index is 1.
</p><p>
This example will convert route number two and three into separate sdf files:
- </p><pre class="screen">
- gpsbabel -i gdb -f routes.gdb -r -o stmsdf,index=2 -F route-one.sdf -r -o stmsdf,index=3 -F route-three.sdf
- </pre><p>
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_stmwpp"></a>Suunto Trek Manager (STM) WaypointPlus files (stmwpp)</h2></div></div></div><p>
+</p><p><strong class="userinput"><code> gpsbabel -i gdb -f routes.gdb -r -o stmsdf,index=2 -F route-one.sdf -r -o stmsdf,index=3 -F route-three.sdf </code></strong></p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_stmwpp"></a>Suunto Trek Manager (STM) WaypointPlus files (stmwpp)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
</p></li></ul></div><p>
- </p><p>
This format supports the Suunto Trek Manager (STM) WaypointPlus format.
This is a simple format with coordinates and a time stamp. Route points
also have a short name. A single file may only contain one route or one
track.
</p><p>
<a href="http://www.suunto.fi" target="_top">Suunto Website</a>
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_stmwpp_o_index"></a>index option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_stmwpp_o_index"></a><code class="option">index</code> option</h3></div></div></div><p>
Index of route/track to write (if more the one in source).
</p><p>
Because the format supports only one route or track, this option may be used
tracks read from a more expressive format. If you have, say, a
<a href="#fmt_gpx" title="GPX XML (gpx)">gpx</a> file that contains three routes, you may
use this option to write them one at a time to individual files.
-</p><pre class="screen">gpsbabel -i gpx -f routes.gpx -o stmwpp,index=1 -F route1.txt -o stmwpp,index=2 -F route2.txt -o stmwpp,index=3 -F route3.txt</pre></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_openoffice"></a>Tab delimited fields useful for OpenOffice, Ploticus etc. (openoffice)</h2></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f routes.gpx -o stmwpp,index=1 -F route1.txt -o stmwpp,index=2 -F route2.txt -o stmwpp,index=3 -F route3.txt</code></strong></p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_openoffice"></a>Tab delimited fields useful for OpenOffice, Ploticus etc. (openoffice)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
</p></li></ul></div><p>
- </p><p>
This format is derived from the <a href="#fmt_xcsv" title="? Character Separated Values (xcsv)">xcsv</a>
format, so it has all of the same options as that format.
</p><p> Tab seperated export-all (except geocaching data) file
format. Intended to serve as source for number-processing
applications like OpenOffice, Ploticus and others. Tab was chosen as
delimiter because it is a) supported by both OpenOffice and Ploticus
-and b) is not ',', so you can use <span><strong class="command">sed -i
-"s/./,/g" <x>.csv'</strong></span> to adapt it to locales where ',' is
-used as decimal seperator. Contributed by Tobias Minich.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_text"></a>Textual Output (text)</h2></div></div></div><p>
+and b) is not ',', so you can use <strong class="userinput"><code>sed -i
+"s/./,/g" <x>.csv'</code></strong> to adapt it to locales where ',' is
+used as decimal seperator. Contributed by Tobias Minich.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_text"></a>Textual Output (text)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
write waypoints
- </p></li></ul></div><p>
- </p><p> This is a simple human readable version of the data file,
+ </p></li></ul></div><p> This is a simple human readable version of the data file,
handy for listings of any type of waypoint files.
</p><p> The following command line reads a GPX file with
Groundspeak extensions and writes a text file with encrypted hints:
-</p><pre class="screen">gpsbabel -i gpx -f 12345.gpx -o text,encrypt -F 12345.txt</pre><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_text_o_nosep"></a>nosep option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f 12345.gpx -o text,encrypt -F 12345.txt</code></strong></p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_text_o_nosep"></a><code class="option">nosep</code> option</h3></div></div></div><p>
Suppress separator lines between waypoints.
</p><p>
To suppress the dashed lines between waypoints, use this option.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_text_o_encrypt"></a>encrypt option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_text_o_encrypt"></a><code class="option">encrypt</code> option</h3></div></div></div><p>
Encrypt hints using ROT13.
</p><p>
Use this option to encrypt hints from Groundspeak GPX files.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_text_o_logs"></a>logs option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_text_o_logs"></a><code class="option">logs</code> option</h3></div></div></div><p>
Include groundspeak logs if present.
</p><p>
Use this option to include Groundspeak cache logs in the created document.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_text_o_degformat"></a>degformat option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_text_o_degformat"></a><code class="option">degformat</code> option</h3></div></div></div><p>
Degrees output as 'ddd', 'dmm'(default) or 'dms'.
</p><p>
When GPSBabel writes coordinates, this option is consulted to see if it
should write decimal degrees ('ddd') decimal minutes ('dmm') or degrees,
minutes, seconds ('dms'). The default is 'dmm'.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_text_o_altunits"></a>altunits option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_text_o_altunits"></a><code class="option">altunits</code> option</h3></div></div></div><p>
Units for altitude (f)eet or (m)etres.
</p><p>
This option should be 'f' if you want the altitude expressed in feet and
'm' for meters. The default is 'f'.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tomtom"></a>TomTom POI file (tomtom)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tomtom"></a>TomTom POI file (tomtom)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p> This format can read and write TomTom .ov2 (POI) files,
+ </p></li></ul></div><p> This format can read and write <a href="http://www.tomtom.com" target="_top">TomTom</a> .ov2 (POI) files,
as used by the TomTom GO and TomTom Navigator. It has been tested
with an original TomTom GO running version 5.00 of the TomTom
software. There may be some records that confuse the input module -
gpsbabel-misc mailing list to contact a developer.</p><p> Note that in addition to the .ov2 file, you will need a
.bmp file for the icon. It should be 22x22 and 16 colors, and have
the same name (not including the extension) as the .ov2 file.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tmpro"></a>TopoMapPro Places File (tmpro)</h2></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tmpro"></a>TopoMapPro Places File (tmpro)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p>TopoMapPro Places File. Reads and writes places files for
-use in TopoMapPro <a href="http://www.topomappro.com" target="_top">topomappro.com</a>). As this file
+ </p></li></ul></div><p>Reads and writes places files for
+use in <a href="http://www.topomappro.com" target="_top">TopoMapPro places files</a>. As this file
type can store links other than web links, anything that is not a http
url will be discarded. Note that this does not do datum conversions,
so if your input file does not have WGS84/NZGD2000 data, your output
-file won't either. Colour of waypoint icons defaults to red.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_dmtlog"></a>TrackLogs digital mapping (.trl) (dmtlog)</h2></div></div></div><p>
+file won't either. Colour of waypoint icons defaults to red.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_dmtlog"></a>TrackLogs digital mapping (.trl) (dmtlog)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
</p></li></ul></div><p>
- </p><p>
This format can be used to convert files from
<a href="http://www.tracklogs.co.uk" target="_top">TrackLogs Digital Mapping</a>. The files
have extension .trl and can contain waypoints and tracks.
We have seen three different types of this format. Two are binary
and one is an XML based format. All three types are supported
by our reader.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_dmtlog_o_index"></a>index option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_dmtlog_o_index"></a><code class="option">index</code> option</h3></div></div></div><p>
Index of track (if more the one in source).
</p><p>
Convert track number 'index' from source into dmtlog format.
</p><p>
An example usage you can find at the <a href="#fmt_ignrando" title="IGN Rando track files (ignrando)">ignrando</a> format,
which uses option <a href="#fmt_ignrando_o_index" title="index option">index</a> in same manner.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tiger"></a>U.S. Census Bureau Tiger Mapping Service (tiger)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_tiger"></a>U.S. Census Bureau Tiger Mapping Service (tiger)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li></ul></div><p>
- </p><p>The U.S. Census Bureau provides online mapping facilities.
+ </p></li></ul></div><p>The U.S. Census Bureau provides online mapping facilities.
This format is described at: <a href="http://tiger.census.gov/instruct.html" target="_top">tiger.census.gov</a>.
Do notice that this format is not the actual Tiger line mapping
records, but rather the interface to their online mapping
-program.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_nolabels"></a>nolabels option</h3></div></div></div><p>
+program.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_nolabels"></a><code class="option">nolabels</code> option</h3></div></div></div><p>
Suppress labels on generated pins.
</p><p>This option tells GPSBabel to not generate labels on the pins. If
this is true, the description of the incoming waypoints are ignored and not
-placed on the pins.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_genurl"></a>genurl option</h3></div></div></div><p>
+placed on the pins.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_genurl"></a><code class="option">genurl</code> option</h3></div></div></div><p>
Generate file with lat/lon for centering map.
</p><p>
genurl is a convenience option for generating the scaling paramaters
height, and width parameters in a form suitable for use in the URL to generate
a map that will hold all the points to be displayed and is suitably scaled
and centered.
-</p><p>For example:
-</p><pre class="screen">gpsbabel -i geo -f geocaching.loc -o tiger,genurl=tiger.ctr -F tiger.dat</pre><p>
+</p><p>For example:</p><p><strong class="userinput"><code>gpsbabel -i geo -f geocaching.loc -o tiger,genurl=tiger.ctr -F tiger.dat</code></strong></p><p>
may create tiger.ctr with
-</p><pre class="screen">lat=36.042108&lon=-86.877408&ht=0.161172&wid=0.591771&iwd=768&iht=768</pre><p>
+</p><pre class="screen">
+lat=36.042108&lon=-86.877408&ht=0.161172&wid=0.591771&iwd=768&iht=768</pre><p>
After uploading tiger.dat to a public server, a request to
</p><pre class="screen"> http://tiger.census.gov/cgi-bin/mapgen?murl=$THATFILE$(cat tiger.ctr)</pre><p>
will return a gif file from the tiger server that's suitably scaled.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_margin"></a>margin option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_margin"></a><code class="option">margin</code> option</h3></div></div></div><p>
Margin for map. Degrees or percentage.
</p><p>This option specifies a margin around the maps for the genurl options.
The margin may be specified in either decimal degrees or as a
percentage.</p><p>
This option is most useful for ensuring there is adaequate space for
the label around the markers when generating automatically scaled maps.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_snlen"></a>snlen option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_snlen"></a><code class="option">snlen</code> option</h3></div></div></div><p>
Max shortname length when used with -s.
</p><p>
The snlen option controls the maximum length of names generated by the '-s'
option. It's particularly useful in Tiger maps to avoid the amount of clutter
generated by potentially lengthy labels on the markers.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_oldthresh"></a>oldthresh option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_oldthresh"></a><code class="option">oldthresh</code> option</h3></div></div></div><p>
Days after which points are considered old.
</p><p>This options allows you to control the threshold in days between
whether a pin is considered "new" (and thus potentially governed by the
'newmarker' option) or "old" (and thus potentially governed by the
'oldmarker' option).
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_oldmarker"></a>oldmarker option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_oldmarker"></a><code class="option">oldmarker</code> option</h3></div></div></div><p>
Marker type for old points.
</p><p>This option specifies the pin to be used if a waypoint has a creation
-time newer than 'oldthresh' days.</p><p>The default is "redpin".</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_newmarker"></a>newmarker option</h3></div></div></div><p>
+time newer than 'oldthresh' days.</p><p>The default is "redpin".</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_newmarker"></a><code class="option">newmarker</code> option</h3></div></div></div><p>
Marker type for new points.
</p><p>This option specifies the pin to be used if a waypoint has a creation
-time older than 'oldthresh' days.</p><p>The default is "greenpin".</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_suppresswhite"></a>suppresswhite option</h3></div></div></div><p>
+time older than 'oldthresh' days.</p><p>The default is "greenpin".</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_suppresswhite"></a><code class="option">suppresswhite</code> option</h3></div></div></div><p>
Suppress whitespace in generated shortnames.
</p><p>
When set, this options tells the '-s' smartname generator to not allow
any spaces in the labels generated for markers.
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_unfoundmarker"></a>unfoundmarker option</h3></div></div></div><p>
+</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_unfoundmarker"></a><code class="option">unfoundmarker</code> option</h3></div></div></div><p>
Marker type for unfound points.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_xpixels"></a>xpixels option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_xpixels"></a><code class="option">xpixels</code> option</h3></div></div></div><p>
Width in pixels of map.
</p><p>The xpixels argument lets you specify the number of pixels to be
generated by the Tiger server along the horizontal axis when using the
-'genurl' option. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_ypixels"></a>ypixels option</h3></div></div></div><p>
+'genurl' option. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_ypixels"></a><code class="option">ypixels</code> option</h3></div></div></div><p>
Height in pixels of map.
</p><p>The ypixels argument lets you specify the number of pixels to be
generated by the Tiger server along the vertical axis when using the
-'genurl' option. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_iconismarker"></a>iconismarker option</h3></div></div></div><p>
+'genurl' option. </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_tiger_o_iconismarker"></a><code class="option">iconismarker</code> option</h3></div></div></div><p>
The icon description is already the marker.
</p><p> This options signifies that the icon in the incoming format is to be used
without change in the generated Tiger output file. Without this option,
GPSBabel tries to color pins based on their creation time and certain
-Geocaching traits when available.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_unicsv"></a>Universal csv with field structure in first line (unicsv)</h2></div></div></div><p>
+Geocaching traits when available.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_unicsv"></a>Universal csv with field structure in first line (unicsv)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read waypoints
</p></li></ul></div><p>
- </p><p>
Unicsv examines the first line of a file to determine the field
order and field separator in that file. It is thus read-only format.
</p><p>
separated by commas.
</p><p>
The list of keywords include "lat", "lon", "desc", "name",
- "notes", "alt", "utm z", "utm n", "utm e", and "url".
+ "notes", "alt", "utm z", "utm n", "utm e", "utm c" and "url".
Fuller spellings (i.e. "longitude") may be used.
</p><p>
A typical file may be:
GCEBB,35.972033,-87.134700,Mountain Bike Heaven by susy1313
GC1A37,36.090683,-86.679550,The Troll by a182pilot & Family
</pre><p>
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_vcard"></a>Vcard Output (for iPod) (vcard)</h2></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_vcard"></a>Vcard Output (for iPod) (vcard)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
write waypoints
- </p></li></ul></div><p>
- </p><p>The vCard output is intended to be in a format that
+ </p></li></ul></div><p>The vCard output is intended to be in a format that
enables waypoints to be viewed with an Apple iPod. This is achieved by
mapping waypoint fields into vCard fields that can be displayed as
'Contacts' on the iPod. With the iPod mounted as a hard disk (see your
into the iPod 'Contacts' folder. As an alternative, Mac OS X users may
prefer to drag the VCF file into their address book and synchronize
with the iPod using iSync.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_vcard_o_encrypt"></a>encrypt option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_vcard_o_encrypt"></a><code class="option">encrypt</code> option</h3></div></div></div><p>
Encrypt hints using ROT13.
</p><p>
By default geocaching hints are unencrypted; use this option to encrypt them.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_vitosmt"></a>Vito Navigator II tracks (vitosmt)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_vitosmt"></a>Vito Navigator II tracks (vitosmt)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read and write waypoints
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write tracks
- </p></li><li><p>
+ </p></li><li><p class="fmtcapsitem">
read and write routes
- </p></li></ul></div><p>
- </p><p>Vito Navigator II is a Pocket PC GPS application. This
+ </p></li></ul></div><p>Vito Navigator II is a Pocket PC GPS application. This
format reads a Vito Navigator II .SMT track file and can work in
either waypoint or track mode. The speed, heading and Dilution of
Position data is written in the notes field.</p><p> Support for writing .SMT tracks is very experimental and
-may crash VitoNavigator II on the Pocket PC.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_wfff"></a>WiFiFoFum 2.0 for PocketPC XML (wfff)</h2></div></div></div><p>
+may crash VitoNavigator II on the Pocket PC.</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_wfff"></a>WiFiFoFum 2.0 for PocketPC XML (wfff)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read waypoints
- </p></li></ul></div><p>
- </p><p> WFFF is the export format for Aspecto Software's WiFiFoFum 2.0 for Windows Mobile PCs.</p><p>It is a simple XML format that is read-only to GPSBabel and stores information about a WiFi stumbling session.</p><p>All WiFi-specific elements are written in the description field, similar to the netstumbler format.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wfff_o_aicicon"></a>aicicon option</h3></div></div></div><p>
+ </p></li></ul></div><p> WFFF is the export format for Aspecto Software's WiFiFoFum 2.0 for Windows Mobile PCs.</p><p>It is a simple XML format that is read-only to GPSBabel and stores information about a WiFi stumbling session.</p><p>All WiFi-specific elements are written in the description field, similar to the netstumbler format.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wfff_o_aicicon"></a><code class="option">aicicon</code> option</h3></div></div></div><p>
Infrastructure closed icon name.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wfff_o_aioicon"></a>aioicon option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wfff_o_aioicon"></a><code class="option">aioicon</code> option</h3></div></div></div><p>
Infrastructure open icon name.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wfff_o_ahcicon"></a>ahcicon option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wfff_o_ahcicon"></a><code class="option">ahcicon</code> option</h3></div></div></div><p>
Ad-hoc closed icon name.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wfff_o_ahoicon"></a>ahoicon option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wfff_o_ahoicon"></a><code class="option">ahoicon</code> option</h3></div></div></div><p>
Ad-hoc open icon name.
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wfff_o_snmac"></a>snmac option</h3></div></div></div><p>
+ </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wfff_o_snmac"></a><code class="option">snmac</code> option</h3></div></div></div><p>
Shortname is MAC address.
- </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_wbt-bin"></a>Wintec WBT-100/200 Binary file format (wbt-bin)</h2></div></div></div><p>
+ </p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_wbt-bin"></a>Wintec WBT-100/200 Binary file format (wbt-bin)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read tracks
- </p></li></ul></div><p>
- </p><p>File protocol for the <span class="productname">Wintec WBT-200</span>™
+ </p></li></ul></div><p>File protocol for the <span class="productname">Wintec WBT-200</span>™
GPS data logger. This format reads the binary file format created
by Wintec's Windows application.</p><p>
<a href="http://www.semsons.com/wi3mugpsrebt.html" target="_top">Wintec WBT-200 </a>
-</p><div class="example"><a id="wbt-bin-on-macos"></a><p class="title"><b>Example 3.3. Command showing conversion of a Wintec binary file to GPX</b></p><pre class="screen">gpsbabel -i wbt-bin -f tracks.bin -o
-gpx -F out.gpx</pre></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_wbt"></a>Wintec WBT-100/200 GPS Download (wbt)</h2></div></div></div><p>
+</p><div class="example"><a id="wbt-bin-on-macos"></a><p class="title"><b>Example 3.3. Command showing conversion of a Wintec binary file to GPX</b></p><div class="example-contents"><p><strong class="userinput"><code>gpsbabel -i wbt-bin -f tracks.bin -o
+gpx -F out.gpx</code></strong></p></div></div><br class="example-break" /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_wbt"></a>Wintec WBT-100/200 GPS Download (wbt)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read tracks
- </p></li></ul></div><p>
- </p><p>Serial download protocol for the <span class="productname">Wintec WBT-200</span>™ GPS data logger. Although untested it is expected that this will also support the WBT-100.</p><p>
+ </p></li></ul></div><p>Serial download protocol for the <span class="productname">Wintec WBT-200</span>™ GPS data logger. Although untested it is expected that this will also support the WBT-100.</p><p>
<a href="http://www.semsons.com/wi3mugpsrebt.html" target="_top">Wintec WBT-200</a>
-</p><div class="example"><a id="wbt-on-macos"></a><p class="title"><b>Example 3.4. Command showing WBT-200 download and erase over Bluetooth on Mac OS X</b></p><pre class="screen">gpsbabel -i wbt,erase -f /dev/cu.WBT200-SPPslave-1 -o gpx -F out.gpx</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wbt_o_erase"></a>erase option</h3></div></div></div><p>
+</p><div class="example"><a id="wbt-on-macos"></a><p class="title"><b>Example 3.4. Command showing WBT-200 download and erase over Bluetooth on Mac OS X</b></p><div class="example-contents"><p><strong class="userinput"><code>gpsbabel -i wbt,erase -f /dev/cu.WBT200-SPPslave-1 -o gpx -F out.gpx</code></strong></p></div></div><br class="example-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_wbt_o_erase"></a><code class="option">erase</code> option</h3></div></div></div><p>
Erase device data after download.
- </p><p>This option erases the track log from the device after download.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_yahoo"></a>Yahoo Geocode API data (yahoo)</h2></div></div></div><p>
+ </p><p>This option erases the track log from the device after download.</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="fmt_yahoo"></a>Yahoo Geocode API data (yahoo)</h2></div></div></div><p class="fmtcapshdr">
This format can...
- </p><div class="itemizedlist"><ul type="disc"><li><p>
+ </p><div class="itemizedlist"><ul type="disc"><li><p class="fmtcapsitem">
read waypoints
</p></li></ul></div><p>
- </p><p>
This format reads output from the
<a href="http://developer.yahoo.com/maps/rest/V1/geocode.html" target="_top">Yahoo geocoding API</a>.
This feature of GPSBabel makes it easy to get geocoded results from
Yahoo into your favorite mapping program, GPS receiver, or other format.
-</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_yahoo_o_addrsep"></a>addrsep option</h3></div></div></div><p>
+</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_yahoo_o_addrsep"></a><code class="option">addrsep</code> option</h3></div></div></div><p>
String to separate concatenated address fields (default=", ").
</p><p>
This option specifies the string GPSBabel should use to separate the parts
are concatenated into the waypoint "notes" field.
</p><p>
The default value for this option is a comma followed by a space (", ").
-</p></div></div><div class="footnotes"><br /><hr width="100" align="left" /><div class="footnote"><p><sup>[<a id="ftn.gpx" href="#gpx">1</a>] </sup>This unit uses GPX format, not Garmin protocol. Therefore one should communicate with it by reading and writing GPX files instead of using this format.</p></div></div></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Data_Filters"></a>Chapter 4. Data Filters</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#filter_polygon">Include Only Points Inside Polygon (polygon)</a></span></dt><dt><span class="section"><a href="#filter_arc">Include Only Points Within Distance of Arc (arc)</a></span></dt><dt><span class="section"><a href="#filter_radius">Include Only Points Within Radius (radius)</a></span></dt><dt><span class="section"><a href="#filter_interpolate">Interpolate between trackpoints (interpolate)</a></span></dt><dt><span class="section"><a href="#filter_track">Manipulate track lists (track)</a></span></dt><dt><span class="section"><a href="#filter_sort">Rearrange waypoints by resorting (sort)</a></span></dt><dt><span class="section"><a href="#filter_nuketypes">Remove all waypoints, tracks, or routes (nuketypes)</a></span></dt><dt><span class="section"><a href="#filter_duplicate">Remove Duplicates (duplicate)</a></span></dt><dt><span class="section"><a href="#filter_position">Remove Points Within Distance (position)</a></span></dt><dt><span class="section"><a href="#filter_discard">Remove unreliable points with high hdop or vdop (discard)</a></span></dt><dt><span class="section"><a href="#filter_reverse">Reverse stops within routes (reverse)</a></span></dt><dt><span class="section"><a href="#filter_stack">Save and restore waypoint lists (stack)</a></span></dt><dt><span class="section"><a href="#filter_simplify">Simplify routes (simplify)</a></span></dt><dt><span class="section"><a href="#filter_transform">Transformate waypoints into a route, tracks into routes, ... (transform)</a></span></dt></dl></div><p> GPSBabel supports data filtering. Data filters are
+</p></div></div><div class="footnotes"><br /><hr width="100" align="left" /><div class="footnote"><p><sup>[<a id="ftn.posnonly" href="#posnonly">1</a>] </sup>This model does not support transfer of waypoints, tracks, or routes, but may be used with the <a href="#tracking" title="Realtime tracking">realtime tracking</a> feature.</p></div><div class="footnote"><p><sup>[<a id="ftn.gpx" href="#gpx">2</a>] </sup>This unit uses GPX format, not Garmin protocol. Therefore one should communicate with it by reading and writing GPX files instead of using this format. Members of this class of products do not support realtime positioning protocol.</p></div></div></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Data_Filters"></a>Chapter 4. Data Filters</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#filter_polygon">Include Only Points Inside Polygon (polygon)</a></span></dt><dt><span class="section"><a href="#filter_arc">Include Only Points Within Distance of Arc (arc)</a></span></dt><dt><span class="section"><a href="#filter_radius">Include Only Points Within Radius (radius)</a></span></dt><dt><span class="section"><a href="#filter_interpolate">Interpolate between trackpoints (interpolate)</a></span></dt><dt><span class="section"><a href="#filter_track">Manipulate track lists (track)</a></span></dt><dt><span class="section"><a href="#filter_sort">Rearrange waypoints by resorting (sort)</a></span></dt><dt><span class="section"><a href="#filter_nuketypes">Remove all waypoints, tracks, or routes (nuketypes)</a></span></dt><dt><span class="section"><a href="#filter_duplicate">Remove Duplicates (duplicate)</a></span></dt><dt><span class="section"><a href="#filter_position">Remove Points Within Distance (position)</a></span></dt><dt><span class="section"><a href="#filter_discard">Remove unreliable points with high hdop or vdop (discard)</a></span></dt><dt><span class="section"><a href="#filter_reverse">Reverse stops within routes (reverse)</a></span></dt><dt><span class="section"><a href="#filter_stack">Save and restore waypoint lists (stack)</a></span></dt><dt><span class="section"><a href="#filter_simplify">Simplify routes (simplify)</a></span></dt><dt><span class="section"><a href="#filter_transform">Transform waypoints into a route, tracks into routes, ... (transform)</a></span></dt></dl></div><p> GPSBabel supports data filtering. Data filters are
invoked from the command line via the '-x' option. It should be
noted that data filters are invoked in the internal pipeline at
the point that corresponds to their position on the
Note that this filter currently will not work properly
if your polygon contains one or both poles or if it spans the
line of 180 degrees east or west longitude.
-</p><div class="example"><a id="example_polygon_filter"></a><p class="title"><b>Example 4.1. Using the polygon filter</b></p><p>
+</p><div class="example"><a id="example_polygon_filter"></a><p class="title"><b>Example 4.1. Using the polygon filter</b></p><div class="example-contents"><p>
Suppose you have a polygon file that defines the border of your county,
called mycounty.txt. This command line will give you only the points
in your county:
-</p><pre class="screen">gpsbabel -i geo -f 1.loc -x polygon,file=mycounty.txt -o mapsend -F 2.wpt</pre></div><div class="example"><a id="example_in_or_close_to"></a><p class="title"><b>Example 4.2. Using the polygon and arc filters to find points in or nearly in a
-polygon</b></p><p>
+</p><p><strong class="userinput"><code>gpsbabel -i geo -f 1.loc -x polygon,file=mycounty.txt -o mapsend -F 2.wpt</code></strong></p></div></div><br class="example-break" /><div class="example"><a id="example_in_or_close_to"></a><p class="title"><b>Example 4.2. Using the polygon and arc filters to find points in or nearly in a
+polygon</b></p><div class="example-contents"><p>
Because the polygon and <a href="#filter_arc" title="Include Only Points Within Distance of Arc (arc)">arc</a> filters use
the same file format, you can use them together to find all points that are
"in or nearly in" a polygon. This can be useful if your waypoints or the
boundaries of your polygon are not quite perfect, so you want to provide a
buffer zone around it in case there are points nearby that should be in the
polygon but aren't quite.
-</p><pre class="screen">
+</p><p><strong class="userinput"><code>
gpsbabel -i gpx -f points.gpx -x stack,push -x polygon,file=mycounty.txt
-x stack,swap -x arc,file=mycounty.txt,distance=1k -x stack,pop,append
-x duplicate,shortname -o gpx -F nearmycounty.gpx
-</pre><p>
+</code></strong></p><p>
This command makes a copy of the points, finds the ones that are in your
your county, swaps that result with the copy of the original set of points,
finds the ones from that set that are within 1 km of the border of the county,
puts the two lists together, and then filters out any points that appear twice
(This step is necessary because points inside the county but near the county
line will be kept by both the polygon and the arc filter.)
-</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_polygon_o_file"></a>file option</h3></div></div></div><p>
+</p></div></div><br class="example-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_polygon_o_file"></a>file option</h3></div></div></div><p>
File containing vertices of polygon.
</p><p>
This option is required.
An arc file may optionally contain gaps in the arc. You may specify
such a gap by inserting a line containing "#break" either on a line by
itself or after the coordinates of the starting point of the new arc segment.
-</p><div class="example"><a id="example_arc_filter"></a><p class="title"><b>Example 4.3. Using the arc filter</b></p><p>
+</p><div class="example"><a id="example_arc_filter"></a><p class="title"><b>Example 4.3. Using the arc filter</b></p><div class="example-contents"><p>
Assuming the arc above is in a file called
<code class="filename">lima_rd.txt</code>, the following command line
would include only points within one mile of the section of Lima Road
covered by the arc.
-</p><pre class="screen">gpsbabel -i geo -f 1.loc -x arc,file=lima_rd.txt,distance=1 -o mapsend -F 2.wpt</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_arc_o_file"></a>file option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i geo -f 1.loc -x arc,file=lima_rd.txt,distance=1 -o mapsend -F 2.wpt</code></strong></p></div></div><br class="example-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_arc_o_file"></a>file option</h3></div></div></div><p>
File containing vertices of arc.
</p><p>
This option is required.
</p><p>
By default, all remaining points are sorted so that points closer to the
center appear earlier in the output file.
-</p><div class="example"><a id="radius_to_find_points_close"></a><p class="title"><b>Example 4.4. Using the radius filter to find points close to a given point</b></p><p>This example command line would include only points within 1 1/2 miles
- of N30.000 W 90.000</p><pre class="screen">gpsbabel -i geo -f 1.loc -x radius,distance=1.5M,lat=30.0,lon=-90.0 -o mapsend -F 2.wpt</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_radius_o_lat"></a>lat option</h3></div></div></div><p>
+</p><div class="example"><a id="radius_to_find_points_close"></a><p class="title"><b>Example 4.4. Using the radius filter to find points close to a given point</b></p><div class="example-contents"><p>This example command line would include only points within 1 1/2 miles
+ of N30.000 W 90.000</p><p><strong class="userinput"><code>gpsbabel -i geo -f 1.loc -x radius,distance=1.5M,lat=30.0,lon=-90.0 -o mapsend -F 2.wpt</code></strong></p></div></div><br class="example-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_radius_o_lat"></a>lat option</h3></div></div></div><p>
Latitude for center point (D.DDDDD).
</p><p>
This option is required.
line (actually a great circle) between the adjacent points. You
must specify either the
<code class="option">distance</code> or the <code class="option">time</code> option.
-</p><div class="example"><a id="example_interpolate_filter"></a><p class="title"><b>Example 4.5. Using the interpolate filter</b></p><p>
+</p><div class="example"><a id="example_interpolate_filter"></a><p class="title"><b>Example 4.5. Using the interpolate filter</b></p><div class="example-contents"><p>
This command line reads track.gpx and inserts points wherever two adjacent
trackpoints are more than 10 seconds apart:
-</p><pre class="screen">gpsbabel -i gpx -f track.gpx -x interpolate,time=10 -o gpx -F newtrack.gpx</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f track.gpx -x interpolate,time=10 -o gpx -F newtrack.gpx</code></strong></p><p>
This command reads track.gpx and inserts points wherever two adjacent
trackpoints are more than 15 kilometers apart:
-</p><pre class="screen">gpsbabel -i gpx -f track.gpx -x interpolate,distance=15k -o gpx -F newtrack.gpx</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f track.gpx -x interpolate,distance=15k -o gpx -F newtrack.gpx</code></strong></p><p>
This command reads track.gpx and inserts points wherever two adjacent
trackpoints are more than 2 miles apart:
-</p><pre class="screen">gpsbabel -i gpx -f track.gpx -x interpolate,distance=2m -o gpx -F newtrack.gpx</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_interpolate_o_time"></a>time option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f track.gpx -x interpolate,distance=2m -o gpx -F newtrack.gpx</code></strong></p></div></div><br class="example-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_interpolate_o_time"></a>time option</h3></div></div></div><p>
Time interval in seconds.
</p><p>
This option specifies the maximum allowable time interval between points in the
This option changes the time of all trackpoints. This might be useful if
your track must be moved by one or more hours because of an incorrect
time zone.
-</p><div class="example"><a id="ex_track_move"></a><p class="title"><b>Example 4.6. Time-shifting a track with the track filter</b></p><p>
+</p><div class="example"><a id="ex_track_move"></a><p class="title"><b>Example 4.6. Time-shifting a track with the track filter</b></p><div class="example-contents"><p>
The following command line will shift all tracks to be one hour later.
-</p><pre class="screen">gpsbabel -t -i gpx -f in.gpx -x track,move=+1h -o gpx -F out.gpx</pre></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_track_o_pack"></a>pack option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -t -i gpx -f in.gpx -x track,move=+1h -o gpx -F out.gpx</code></strong></p></div></div><br class="example-break" /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_track_o_pack"></a>pack option</h3></div></div></div><p>
Pack all tracks into one.
</p><p>
This option causes all tracks to be appended to one another to form a single
track, use the pack option before before using this. To
split a single tracks into separate tracks for each day and
name them, use this:
- </p><pre class="screen">
-gpsbabel -t -i gpx -f in.gpx -x \
- track,split,title="ACTIVE LOG \
- # %Y%m%d" -o gpx -F out.gpx</pre><p> If the input has multiple tracks, pack them together before
-splitting them back apart per day thusly: </p><pre class="screen">
-gpsbabel -t -i gpx -f in.gpx \
- -x track,pack,split,title="ACTIVE LOG # %D" \
- -o gpx -F out.gpx</pre><p> Additionally you can add an interval to the split
+ </p><p><strong class="userinput"><code> gpsbabel -t -i gpx -f in.gpx -x track,split,title="ACTIVE LOG # %Y%m%d" -o gpx -F out.gpx</code></strong></p><p> If the input has multiple tracks, pack them together before
+splitting them back apart per day thusly: </p><p><strong class="userinput"><code> gpsbabel -t -i gpx -f in.gpx
+ -x track,pack,split,title="ACTIVE LOG # %D"
+ -o gpx -F out.gpx</code></strong></p><p> Additionally you can add an interval to the split
option. With this the track will be split if the time
between two points is greater than this parameter. The
interval must be numeric and can be int days, hours, minutes
or "s". If no trailing character is present, the units are
assumed to be in seconds.
</p><p> For example, to split a track based on an four hour
- interval, use this:</p><pre class="screen">
-gpsbabel -t \
- -i gpx -f in.gpx \
- -x track,pack,split=4h,title="LOG # %c" \
+ interval, use this:</p><p><strong class="userinput"><code>
+gpsbabel -t
+ -i gpx -f in.gpx
+ -x track,pack,split=4h,title="LOG # %c"
-o gpx -F out.gpx
-</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_track_o_sdistance"></a>sdistance option</h3></div></div></div><p>
+</code></strong></p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_track_o_sdistance"></a>sdistance option</h3></div></div></div><p>
Split by distance.
</p><p> The input track will be split into several tracks
if the distance between successive track points
effect as the split option without parameters. If there is more
than one track,
use the pack option before before using this.</p><p> For example, to split the track if the distance between
- points is greater than 100 meters, use this:</p><pre class="screen">
-gpsbabel -t \
- -i gpx -f in.gpx \
- -x track,pack,sdistance=0.1k" \
+ points is greater than 100 meters, use this:</p><p><strong class="userinput"><code>
+gpsbabel -t
+ -i gpx -f in.gpx
+ -x track,pack,sdistance=0.1k"
-o gpx -F out.gpx
-</pre><p> The sdistance option can be combined with the split option.
+</code></strong></p><p> The sdistance option can be combined with the split option.
The track then will be split only if both time and distance
interval exceeds the supplied values. This technique can be used to
filter out gaps from
a distance over that given.
This example splits the track
if the device is without signal for at least 5 minutes
- and during this time moves more than 300 meters:</p><pre class="screen">
-gpsbabel -t \
- -i gpx -f in.gpx \
- -x track,pack,sdistance=0.3k,split=5m \
+ and during this time moves more than 300 meters:</p><p><strong class="userinput"><code>
+gpsbabel -t
+ -i gpx -f in.gpx
+ -x track,pack,sdistance=0.3k,split=5m
-o gpx -F out.gpx
-</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_track_o_merge"></a>merge option</h3></div></div></div><p>
+</code></strong></p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_track_o_merge"></a>merge option</h3></div></div></div><p>
Merge multiple tracks for the same way.
</p><p>
This option puts all track points from all tracks into a single track
and sorts them by time stamp. Points with identical time stamps will be
dropped.
-</p><div class="example"><a id="ex_track_merge"></a><p class="title"><b>Example 4.7. Merging tracks with the track filter</b></p><p>
+</p><div class="example"><a id="ex_track_merge"></a><p class="title"><b>Example 4.7. Merging tracks with the track filter</b></p><div class="example-contents"><p>
Suppose you want to merge tracks recorded with two different GPS devices
at the same time. To do that, use this command line:
-</p><pre class="screen">gpsbabel -t -i gpx -f john.gpx -i gpx -f doe.gpx -x track,merge,title="COMBINED LOG" -o gpx -F john_doe.gpx</pre></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_track_o_name"></a>name option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -t -i gpx -f john.gpx -i gpx -f doe.gpx -x track,merge,title="COMBINED LOG" -o gpx -F john_doe.gpx</code></strong></p></div></div><br class="example-break" /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_track_o_name"></a>name option</h3></div></div></div><p>
Use only track(s) where title matches given name.
</p><p>
With the name option you can filter out a track by title.
not necessary to specify the smaller time units if they are not needed.
That is, if you only care about points logged between 10 AM and 6 PM on a
given date, you need not specify the minutes or seconds.
-</p><div class="example"><a id="ex_track_startstop"></a><p class="title"><b>Example 4.8. Extracting a period of time with the track filter</b></p><p>
+</p><div class="example"><a id="ex_track_startstop"></a><p class="title"><b>Example 4.8. Extracting a period of time with the track filter</b></p><div class="example-contents"><p>
To get only the parts of a track that were mapped on 20 July 2005
between 10 AM and 6 PM, use this command line:
-</p><pre class="screen">gpsbabel -t -i gpx -f in.gpx -x track,start=2005072010,stop=2005072018 -o gpx -F out.gpx </pre></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_track_o_stop"></a>stop option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -t -i gpx -f in.gpx -x track,start=2005072010,stop=2005072018 -o gpx -F out.gpx </code></strong></p></div></div><br class="example-break" /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_track_o_stop"></a>stop option</h3></div></div></div><p>
Use only track points before this timestamp.
</p><p>
This option is used in conjunction with the <code class="option">start</code> option to
There are three main types of data that GPSBabel deals with:
waypoints, tracks, and routes. The nuketypes filter allows
removing all the data of any or all of those three types.
-</p><div class="example"><a id="example_nuketypes_filter"></a><p class="title"><b>Example 4.9. Filtering data types with nuketypes</b></p><p>
+</p><div class="example"><a id="example_nuketypes_filter"></a><p class="title"><b>Example 4.9. Filtering data types with nuketypes</b></p><div class="example-contents"><p>
If you have a GPX file that contains routes, tracks, and
waypoints and you want a GPX file that contains only tracks,
you may use this filter to remove the waypoints and the routes
with this command:
-</p><pre class="screen">gpsbabel -i gpx -f bigfile.gpx -x nuketypes,waypoints,routes -o gpx -F tracksonly.gpx</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nuketypes_o_waypoints"></a>waypoints option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f bigfile.gpx -x nuketypes,waypoints,routes -o gpx -F tracksonly.gpx</code></strong></p></div></div><br class="example-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_nuketypes_o_waypoints"></a>waypoints option</h3></div></div></div><p>
Remove all waypoints from data stream.
</p><p>
This option causes the nuketypes filter to discard all waypoints that are not
<code class="option">shortname</code> and <code class="option">location</code>.
Generally, at least one of these options is required.
</p><div class="example"><a id="duplicate_to_suppress_points"></a><p class="title"><b>Example 4.10. Using the duplicate filter to suppress points with the same
- name and location</b></p><p>
+ name and location</b></p><div class="example-contents"><p>
This command line removes points that have duplicate short names
and duplicate locations. The result would be a
<a href="#fmt_gpx" title="GPX XML (gpx)">gpx</a> file that more than likely
contains only unique points and point data.
- </p><pre class="screen"> gpsbabel -i gpx -f 1.gpx -f 2.gpx -x duplicate,location,shortname -o gpx -F merged_with_no_dupes.gpx</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_duplicate_o_shortname"></a>shortname option</h3></div></div></div><p>
+ </p><p><strong class="userinput"><code> gpsbabel -i gpx -f 1.gpx -f 2.gpx -x duplicate,location,shortname -o gpx -F merged_with_no_dupes.gpx</code></strong></p></div></div><br class="example-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_duplicate_o_shortname"></a>shortname option</h3></div></div></div><p>
Suppress duplicate waypoints based on name.
</p><p>
This option is the one most often used with the duplicate filter. This
your input file contains waypoints A, B, B, and C, the output file will
contain waypoints A, B, and C without the <code class="option">all</code> option,
or just A and C with the <code class="option">all</code> option.
-</p><div class="example"><a id="duplicate_to_ignore"></a><p class="title"><b>Example 4.11. Using the duplicate filter to implement an "ignore list."</b></p><p>
+</p><div class="example"><a id="duplicate_to_ignore"></a><p class="title"><b>Example 4.11. Using the duplicate filter to implement an "ignore list."</b></p><div class="example-contents"><p>
This option may be used to implement an "ignore list." In the following
example, the duplicate filter is used to remove a list of waypoints to be
ignored from a larger collection of waypoints:
-</p><pre class="screen">gpsbabel -i gpx -f waypoints.gpx -i csv -f to_ignore.csv -x duplicate,shortname,all -o gpx -F filtered.gpx</pre></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_duplicate_o_correct"></a>correct option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f waypoints.gpx -i csv -f to_ignore.csv -x duplicate,shortname,all -o gpx -F filtered.gpx</code></strong></p></div></div><br class="example-break" /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_duplicate_o_correct"></a>correct option</h3></div></div></div><p>
Use coords from duplicate points.
</p><p>
This option is used to change the locations of waypoints without losing any
As an example, this option may be used to adjust the locations of "puzzle"
geocaches in a Groundspeak pocket query:
</p><div class="example"><a id="Correcting_Cache_Locations"></a><p class="title"><b>Example 4.12. Using the duplicate filter to correct the locations of "puzzle"
-geocaches</b></p><pre class="screen">gpsbabel -i gpx -f 43622.gpx -i csv -f corrections.csv -x duplicate,shortname,correct -o gpx -F 43622-corrected.gpx</pre><p>
+geocaches</b></p><div class="example-contents"><p><strong class="userinput"><code>gpsbabel -i gpx -f 43622.gpx -i csv -f corrections.csv -x duplicate,shortname,correct -o gpx -F 43622-corrected.gpx</code></strong></p><p>
After this command is run, the waypoints in the output file will have all
of the descriptive information from <code class="filename">43622.gpx</code>, but
waypoints that were also found in <code class="filename">corrections.csv</code>
will have their coordinates replaced with the coordinates from that file.
-</p></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="filter_position"></a>Remove Points Within Distance (position)</h2></div></div></div><p>
+</p></div></div><br class="example-break" /></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="filter_position"></a>Remove Points Within Distance (position)</h2></div></div></div><p>
This filter removes points based on their proximity to each other. A
point is removed if it is within the specified distance of a point that
has come before.
-</p><div class="example"><a id="posn_to_suppress_close_points"></a><p class="title"><b>Example 4.13. Using the position filter to suppress close points</b></p><p>
+</p><div class="example"><a id="posn_to_suppress_close_points"></a><p class="title"><b>Example 4.13. Using the position filter to suppress close points</b></p><div class="example-contents"><p>
The following command removes multiple points that are within
one foot of each other, leaving just one.
-</p><pre class="screen">gpsbabel -i geo -f 1.loc -f 2.loc -x position,distance=1f -o mapsend -F 3.wpt</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_position_o_distance"></a>distance option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -i geo -f 1.loc -f 2.loc -x position,distance=1f -o mapsend -F 3.wpt</code></strong></p></div></div><br class="example-break" /><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_position_o_distance"></a>distance option</h3></div></div></div><p>
Maximum positional distance.
</p><p>
This option specifies the minimum allowable distance between two points. If
with HDOP and/or VDOP above a specified limit. HDOP and VDOP are
measures of the best possible horizontal or vertical precision
for a given configuration of GPS satellites.
-</p><div class="example"><a id="example_discard_filter"></a><p class="title"><b>Example 4.14. Using the discard filter</b></p><pre class="screen"> gpsbabel -i gpx -f in.gpx -x discard,hdop=10,vdop=20,hdopandvdop -o gpx -F out.gpx</pre></div><p> Contributed by Tobias Minich.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_discard_o_hdop"></a>hdop option</h3></div></div></div><p>
+</p><div class="example"><a id="example_discard_filter"></a><p class="title"><b>Example 4.14. Using the discard filter</b></p><div class="example-contents"><p><strong class="userinput"><code> gpsbabel -i gpx -f in.gpx -x discard,hdop=10,vdop=20,hdopandvdop -o gpx -F out.gpx</code></strong></p></div></div><br class="example-break" /><p> Contributed by Tobias Minich.</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_discard_o_hdop"></a>hdop option</h3></div></div></div><p>
Suppress waypoints with higher hdop.
</p><p>
This option specifies the maximum allowable Horizontal Dilution of
points that are inside both counties are duplicated (but the
duplicates can be removed with the DUPLICATE filter; see
above.)
-</p><pre class="screen">
-gpsbabel -i gpx -f in.gpx \
- -x stack,push,copy \
- -x polygon,file=county_a.txt \
- -x stack,swap \
- -x polygon,file=county_b.txt \
- -x stack,pop,append \
+</p><p><strong class="userinput"><code>
+gpsbabel -i gpx -f in.gpx
+ -x stack,push,copy
+ -x polygon,file=county_a.txt
+ -x stack,swap
+ -x polygon,file=county_b.txt
+ -x stack,pop,append
-o gpx -F out.gpx
-</pre><p> This example reads a large list of waypoints and
+</code></strong></p><p> This example reads a large list of waypoints and
extracts the points within 20 miles of each of two cities,
writing the waypoint descriptions into two different PalmDoc
files and exporting all of the points to the GPS receiver:
-</p><pre class="screen">
-gpsbabel -i gpx -f indiana.gpx \
- -x stack,push,copy \
- -x radius,lat=41.0765,lon=-85.1365,distance=20m \
- -o palmdoc,dbname=Fort\ Wayne -F fortwayne.pdb \
- -x stack,swap \
- -x radius,lat=39.7733,lon=-86.1433,distance=20m \
- -o palmdoc,dbname=Indianapolis -F indianapolis.pdb \
- -x stack,pop,append \
+</p><p><strong class="userinput"><code>
+gpsbabel -i gpx -f indiana.gpx
+ -x stack,push,copy
+ -x radius,lat=41.0765,lon=-85.1365,distance=20m
+ -o palmdoc,dbname=Fort\ Wayne -F fortwayne.pdb
+ -x stack,swap
+ -x radius,lat=39.7733,lon=-86.1433,distance=20m
+ -o palmdoc,dbname=Indianapolis -F indianapolis.pdb
+ -x stack,pop,append
-o magellan -F fwaind.wpt
-</pre><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_stack_o_push"></a>push option</h3></div></div></div><p>
+</code></strong></p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_stack_o_push"></a>push option</h3></div></div></div><p>
Push waypoint list onto stack.
</p><p>
This is one of three "primary" options to the stack filter.
For example, suppose you have a route from Street Atlas 2003 that you
wish to use with a Magellan GPS receiver that only supports up to 50 points
in a route:
-</p><pre class="screen">gpsbabel -r -i saroute -f RoadTrip.anr -x simplify,count=50 -o magellan -F grocery.rte</pre><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_simplify_o_count"></a>count option</h3></div></div></div><p>
+</p><p><strong class="userinput"><code>gpsbabel -r -i saroute -f RoadTrip.anr -x simplify,count=50 -o magellan -F grocery.rte</code></strong></p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_simplify_o_count"></a>count option</h3></div></div></div><p>
Maximum number of points in route.
</p><p>
This option specifies the maximum number of points which may appear in the
</p><p>
This option instructs GPSBabel to simplify by removing points that cause the
smallest change in the overall length of the route first.
-</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="filter_transform"></a>Transformate waypoints into a route, tracks into routes, ... (transform)</h2></div></div></div><p>
+</p></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="filter_transform"></a>Transform waypoints into a route, tracks into routes, ... (transform)</h2></div></div></div><p>
This filter can be used to convert GPS data between different data types.
</p><p>
Some GPS data formats support only some subset of waypoints, tracks,
as those from a CSV file) into a track or vice versa.
</p><p>
The following example show you how to create a route from a waypoint table.
- </p><pre class="screen">gpsbabel -i csv waypts.txt -x transform,rte=wpt -o gpx -F route.gpx</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i csv waypts.txt -x transform,rte=wpt -o gpx -F route.gpx</code></strong></p><p>
Only the first letter of option value decides which transformation will be done.
Depending on the used option it can be only 'W' for waypoints, 'R' for routes or
'T' for tracks.
</p><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_transform_o_wpt"></a>wpt option</h3></div></div></div><p>
Transform track(s) or route(s) into waypoint(s) [R/T].
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_transform_o_rte"></a>rte option</h3></div></div></div><p>
+ </p><p>
+This option selects the destination type of this filter to be waypoints.
+Choose this when you want to convert tracks or routes into waypoints.
+</p><div class="example"><a id="transform_to_wpt"></a><p class="title"><b>Example 4.15. Converting a track to a sequence of waypoints</b></p><div class="example-contents"><p>
+Say you you have a KML file that contains a track but you want to convert it to a CSV file that can contain only waypoints, perhaps to import into a spreadsheet. Use the following command:
+</p><p><strong class="userinput"><code>gpsbabel -i kml -f blah.kml -x transform,wpt=trk -o csv -F blah.txt</code></strong></p></div></div><br class="example-break" /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_transform_o_rte"></a>rte option</h3></div></div></div><p>
Transform waypoint(s) or track(s) into route(s) [W/T].
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_transform_o_trk"></a>trk option</h3></div></div></div><p>
+ </p><p>
+This option selects the destination type of this filter to be routes. Choose this when you want to convert tracks into waypoints routes. A single route will be created in the sequence they appear in the input.
+</p><div class="example"><a id="transform_to_rte"></a><p class="title"><b>Example 4.16. Converting a pile of waypoints to a GPX route</b></p><div class="example-contents"><p>
+Say you you have a data file that came from CSV file that you want to convert
+to a GPX route that can be loaded into Mapsource. Use the following command:
+</p><p><strong class="userinput"><code>gpsbabel -i csv -f blah.txt -x transform,rte=wpt -o gdb -F blah.gdb</code></strong></p></div></div><br class="example-break" /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_transform_o_trk"></a>trk option</h3></div></div></div><p>
Transform waypoint(s) or route(s) into tracks(s) [W/R].
- </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_transform_o_del"></a>del option</h3></div></div></div><p>
+ </p><p>
+This option selects the destination type of this filter to be tracks.
+Choose this when you want to create tracks from a list of waypoints or routes.
+A single track will be created in the sequence they appear in the input.
+</p><div class="example"><a id="transform_to_trk"></a><p class="title"><b>Example 4.17. Converting a pile of waypoints to a GPX track</b></p><div class="example-contents"><p>
+Say you you have a data file that came from CSV file that you want to convert
+to a GPX track that can be loaded into Mapsource. Use the following command:
+</p><p><strong class="userinput"><code>gpsbabel -i csv -f blah.txt -x transform,trk=wpt -o gdb -F blah.gdb</code></strong></p></div></div><br class="example-break" /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="fmt_transform_o_del"></a>del option</h3></div></div></div><p>
Delete source data after transformation.
- </p></div></div></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Datums"></a>Appendix A. Supported Datums</h2></div></div></div><p>
+ </p><p>
+This option, when used in connction with the wpt, rte, or trk options, tells
+GPSBabel to delete the source data after conversion. This is most useful if
+you are trying to avoid duplicated data in the output.
+</p><div class="example"><a id="transform_del"></a><p class="title"><b>Example 4.18. Convert a GPX track to GPX waypoints, tossing the original track</b></p><div class="example-contents"><p><strong class="userinput"><code>gpsbabel -i gpx -f blah.gpx -x transform,wpt=trk,del -o gpx -F converted.gpx</code></strong></p></div></div><br class="example-break" /></div></div></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Datums"></a>Appendix A. Supported Datums</h2></div></div></div><p>
Some formats in GPSBabel support multiple datums. For example, the
<code class="option">datum</code> option to the
<a href="#fmt_garmin_txt" title="Garmin MapSource - txt (tab delimited) (garmin_txt)">garmin_txt</a> format allows you to specify
a datum for the output file.
</p><p>
The following is a list of the datums supported by GPSBabel.
-</p><table class="simplelist" border="0" summary="Simple list"><tr><td>Adindan</td><td>Carribean NAD27</td><td>Hjorsey 1955</td><td>Nahrwan</td><td>Santo (DOS)</td></tr><tr><td>AFG</td><td>Carthage</td><td>Hong Kong 1963</td><td>Naparima BWI</td><td>Sapper Hill 43</td></tr><tr><td>Ain-El-Abd</td><td>Cent America NAD27</td><td>Hu-Tzu-Shan</td><td>North America 83</td><td>Schwarzeck</td></tr><tr><td>Alaska-NAD27</td><td>Chatham 1971</td><td>Indian</td><td>N. America 1927 mean</td><td>Sicily</td></tr><tr><td>Alaska-Canada</td><td>Chua Astro</td><td>Iran</td><td>Observatorio 1966</td><td>Sierra Leone 1960</td></tr><tr><td>Anna-1-Astro</td><td>Corrego Alegre</td><td>Ireland 1965</td><td>Old Egyptian</td><td>S. Am. 1969 mean</td></tr><tr><td>ARC 1950 Mean</td><td>Cuba NAD27</td><td>ISTS 073 Astro 69</td><td>Old Hawaiian_mean</td><td>South Asia</td></tr><tr><td>ARC 1960 Mean</td><td>Cyprus</td><td>Johnston Island 61</td><td>Old Hawaiian Kauai</td><td>Southeast Base</td></tr><tr><td>Asc Island 58</td><td>Djakarta(Batavia)</td><td>Kandawala</td><td>Old Hawaiian Maui</td><td>Southwest Base</td></tr><tr><td>Astro B4</td><td>DOS 1968</td><td>Kerguelen Island</td><td>Old Hawaiian Oahu</td><td>Tananarive Obs 25</td></tr><tr><td>Astro Beacon E</td><td>Easter lsland 1967</td><td>Kertau 48</td><td>Oman</td><td>Thai/Viet (Indian)</td></tr><tr><td>Astro pos 71/4</td><td>Egypt</td><td>L.C. 5 Astro</td><td>OSGB36</td><td>Timbalai 1948</td></tr><tr><td>Astro stn 52</td><td>European 1950</td><td>La Reunion</td><td>Pico De Las Nieves</td><td>Tokyo mean</td></tr><tr><td>Australia Geo 1984</td><td>European 1950 mean</td><td>Liberia 1964</td><td>Pitcairn Astro 67</td><td>Tristan Astro 1968</td></tr><tr><td>Bahamas NAD27</td><td>European 1979 mean</td><td>Luzon</td><td>S. Am. 1956 mean(P)</td><td>United Arab Emirates</td></tr><tr><td>Bellevue IGN</td><td>Finnish Nautical</td><td>Mahe 1971</td><td>S. Chilean 1963 (P)</td><td>Viti Levu 1916</td></tr><tr><td>Bermuda 1957</td><td>Gandajika Base</td><td>Marco Astro</td><td>Puerto Rico</td><td>Wake Eniwetok 60</td></tr><tr><td>Bukit Rimpah</td><td>Geodetic Datum 49</td><td>Masirah Is. Nahrwan</td><td>Pulkovo 1942</td><td>WGS 72</td></tr><tr><td>Camp_Area_Astro</td><td>Ghana</td><td>Massawa</td><td>Qornoq</td><td>WGS 84</td></tr><tr><td>Campo_Inchauspe</td><td>Greenland NAD27</td><td>Merchich</td><td>Quatar National</td><td>Yacare</td></tr><tr><td>Canada_Mean(NAD27)</td><td>Guam 1963</td><td>Mexico NAD27</td><td>Rome 1940</td><td>Zanderij</td></tr><tr><td>Canal_Zone_(NAD27)</td><td>Gunung Segara</td><td>Midway Astro 61</td><td>S-42(Pulkovo1942)</td><td>Sweden</td></tr><tr><td>Canton_Island_1966</td><td>Gunung Serindung 1962</td><td>Mindanao</td><td>S.E.Asia_(Indian)</td><td> </td></tr><tr><td>Cape</td><td>GUX1 Astro</td><td>Minna</td><td>SAD-69/Brazil</td><td> </td></tr><tr><td>Cape_Canaveral_mean</td><td>Herat North</td><td>Montjong Lowe</td><td>Santa Braz</td><td> </td></tr></table></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="GarminIcons"></a>Appendix B. Garmin Icons</h2></div></div></div><p>
+</p><table class="simplelist" border="0" summary="Simple list"><tr><td>Adindan</td><td>Cuba NAD27</td><td>La Reunion</td><td>Qornoq</td></tr><tr><td>AFG</td><td>Cyprus</td><td>Liberia 1964</td><td>Quatar National</td></tr><tr><td>Ain-El-Abd</td><td>Djakarta(Batavia)</td><td>Luzon</td><td>Rome 1940</td></tr><tr><td>Alaska-NAD27</td><td>DOS 1968</td><td>Mahe 1971</td><td>S-42(Pulkovo1942)</td></tr><tr><td>Alaska-Canada</td><td>Easter lsland 1967</td><td>Marco Astro</td><td>S.E.Asia_(Indian)</td></tr><tr><td>Anna-1-Astro</td><td>Egypt</td><td>Masirah Is. Nahrwan</td><td>SAD-69/Brazil</td></tr><tr><td>ARC 1950 Mean</td><td>European 1950</td><td>Massawa</td><td>Santa Braz</td></tr><tr><td>ARC 1960 Mean</td><td>European 1950 mean</td><td>Merchich</td><td>Santo (DOS)</td></tr><tr><td>Asc Island 58</td><td>European 1979 mean</td><td>Mexico NAD27</td><td>Sapper Hill 43</td></tr><tr><td>Astro B4</td><td>Finnish Nautical</td><td>Midway Astro 61</td><td>Schwarzeck</td></tr><tr><td>Astro Beacon E</td><td>Gandajika Base</td><td>Mindanao</td><td>Sicily</td></tr><tr><td>Astro pos 71/4</td><td>Geodetic Datum 49</td><td>Minna</td><td>Sierra Leone 1960</td></tr><tr><td>Astro stn 52</td><td>Ghana</td><td>Montjong Lowe</td><td>S. Am. 1969 mean</td></tr><tr><td>Australia Geo 1984</td><td>Greenland NAD27</td><td>Nahrwan</td><td>South Asia</td></tr><tr><td>Bahamas NAD27</td><td>Guam 1963</td><td>Naparima BWI</td><td>Southeast Base</td></tr><tr><td>Bellevue IGN</td><td>Gunung Segara</td><td>North America 83</td><td>Southwest Base</td></tr><tr><td>Bermuda 1957</td><td>Gunung Serindung 1962</td><td>N. America 1927 mean</td><td>Tananarive Obs 25</td></tr><tr><td>Bukit Rimpah</td><td>GUX1 Astro</td><td>Observatorio 1966</td><td>Thai/Viet (Indian)</td></tr><tr><td>Camp_Area_Astro</td><td>Herat North</td><td>Old Egyptian</td><td>Timbalai 1948</td></tr><tr><td>Campo_Inchauspe</td><td>Hjorsey 1955</td><td>Old Hawaiian_mean</td><td>Tokyo mean</td></tr><tr><td>Canada_Mean(NAD27)</td><td>Hong Kong 1963</td><td>Old Hawaiian Kauai</td><td>Tristan Astro 1968</td></tr><tr><td>Canal_Zone_(NAD27)</td><td>Hu-Tzu-Shan</td><td>Old Hawaiian Maui</td><td>United Arab Emirates</td></tr><tr><td>Canton_Island_1966</td><td>Indian</td><td>Old Hawaiian Oahu</td><td>Viti Levu 1916</td></tr><tr><td>Cape</td><td>Iran</td><td>Oman</td><td>Wake Eniwetok 60</td></tr><tr><td>Cape_Canaveral_mean</td><td>Ireland 1965</td><td>OSGB36</td><td>WGS 72</td></tr><tr><td>Carribean NAD27</td><td>ISTS 073 Astro 69</td><td>Pico De Las Nieves</td><td>WGS 84</td></tr><tr><td>Carthage</td><td>Johnston Island 61</td><td>Pitcairn Astro 67</td><td>Yacare</td></tr><tr><td>Cent America NAD27</td><td>Kandawala</td><td>S. Am. 1956 mean(P)</td><td>Zanderij</td></tr><tr><td>Chatham 1971</td><td>Kerguelen Island</td><td>S. Chilean 1963 (P)</td><td>Sweden</td></tr><tr><td>Chua Astro</td><td>Kertau 48</td><td>Puerto Rico</td><td> </td></tr><tr><td>Corrego Alegre</td><td>L.C. 5 Astro</td><td>Pulkovo 1942</td><td> </td></tr></table></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="GarminIcons"></a>Appendix B. Garmin Icons</h2></div></div></div><p>
Following is a list of the valid values for the
<a href="#fmt_garmin" title="Garmin serial/USB protocol (garmin)">garmin</a> <code class="option">deficon</code> option.
These values are also used internally by the
<a href="#fmt_gdb" title="Garmin MapSource - gdb (gdb)">GDB</a>,
-<a href="#fmt_bcr" title="Motorrad Routenplaner (Map">BCR</a>,
+<a href="#fmt_bcr" title="Motorrad Routenplaner (Map&Guide) .bcr files (bcr)">BCR</a>,
<a href="#fmt_mapsource" title="Garmin MapSource - mps (mapsource)">Mapsource</a>,
<a href="#fmt_geoniche" title="GeoNiche .pdb (geoniche)">Geoniche</a>,
<a href="#fmt_gpilots" title="GpilotS (gpilots)">GPilotS</a>,
<a href="#fmt_pcx" title="Garmin PCX5 (pcx)">PCX</a>, and
<a href="#fmt_psitrex" title="KuDaTa PsiTrex text (psitrex)">PSITrex</a>
formats.
-</p><table class="simplelist" border="0" summary="Simple list"><tr><td>Airport</td><td>Contact, Big Ears</td><td>Ghost Town</td><td>Navaid, Amber</td><td>Reef</td></tr><tr><td>Amusement Park</td><td>Contact, Biker</td><td>Glider Area</td><td>Navaid, Black</td><td>Residence</td></tr><tr><td>Anchor Prohibited</td><td>Contact, Bug</td><td>Golf Course</td><td>Navaid, Blue</td><td>Restaurant</td></tr><tr><td>Asian Food</td><td>Contact, Cat</td><td>Green circle</td><td>Navaid, Green</td><td>Restricted Area</td></tr><tr><td>Ball Park</td><td>Contact, Dog</td><td>Green Diamond</td><td>Navaid, Green/Red</td><td>Restroom</td></tr><tr><td>Bank</td><td>Contact, Dreadlocks</td><td>Green Letter A</td><td>Navaid, Green/White</td><td>RV Park</td></tr><tr><td>Bar</td><td>Contact, Female1</td><td>Green Letter B</td><td>Navaid, Orange</td><td>Scales</td></tr><tr><td>Beach</td><td>Contact, Female2</td><td>Green Letter C</td><td>Navaid, Red</td><td>Scenic Area</td></tr><tr><td>Beacon</td><td>Contact, Female3</td><td>Green Letter D</td><td>Navaid, Red/Green</td><td>School</td></tr><tr><td>Bell</td><td>Contact, Goatee</td><td>Green Number 0</td><td>Navaid, Red/White</td><td>Seafood</td></tr><tr><td>Bike Trail</td><td>Contact, Kung-Fu</td><td>Green Number 1</td><td>Navaid, Violet</td><td>Seaplane Base</td></tr><tr><td>Blue Circle</td><td>Contact, Pig</td><td>Green Number 2</td><td>Navaid, White</td><td>Shipwreck</td></tr><tr><td>Blue Diamond</td><td>Contact, Pirate</td><td>Green Number 3</td><td>Navaid, White/Green</td><td>Shopping Center</td></tr><tr><td>Blue Letter A</td><td>Contact, Ranger</td><td>Green Number 4</td><td>Navaid, White/Red</td><td>Short Tower</td></tr><tr><td>Blue Letter B</td><td>Contact, Smiley</td><td>Green Number 5</td><td>Non-directional beacon</td><td>Shower</td></tr><tr><td>Blue Letter C</td><td>Contact, Spike</td><td>Green Number 6</td><td>Null</td><td>Ski Resort</td></tr><tr><td>Blue Letter D</td><td>Contact, Sumo</td><td>Green Number 7</td><td>Oil Field</td><td>Skiing Area</td></tr><tr><td>Blue Number 0</td><td>Controlled Area</td><td>Green Number 8</td><td>Open 24 Hours</td><td>Skull and Crossbones</td></tr><tr><td>Blue Number 1</td><td>Convenience Store</td><td>Green Number 9</td><td>Parachute Area</td><td>Small City</td></tr><tr><td>Blue Number 2</td><td>Crossing</td><td>Green Oval</td><td>Park</td><td>Soft Field</td></tr><tr><td>Blue Number 3</td><td>Dam</td><td>Green Rectangle</td><td>Parking Area</td><td>Stadium</td></tr><tr><td>Blue Number 4</td><td>Danger Area</td><td>Green Square</td><td>Pharmacy</td><td>State Hwy</td></tr><tr><td>Blue Number 5</td><td>Deli</td><td>Green Triangle</td><td>Picnic Area</td><td>Steak</td></tr><tr><td>Blue Number 6</td><td>Department Store</td><td>Heliport</td><td>Pin, Blue</td><td>Street Intersection</td></tr><tr><td>Blue Number 7</td><td>Diamond, Blue</td><td>Horn</td><td>Pin, Green</td><td>Summit</td></tr><tr><td>Blue Number 8</td><td>Diamond, Green</td><td>Hotel</td><td>Pin, Red</td><td>Swimming Area</td></tr><tr><td>Blue Number 9</td><td>Diamond, Red</td><td>House</td><td>Pizza</td><td>TACAN</td></tr><tr><td>Blue Oval</td><td>Diver Down Flag 1</td><td>Hunting Area</td><td>Police Station</td><td>Tall Tower</td></tr><tr><td>Blue Rectangle</td><td>Diver Down Flag 2</td><td>Ice Skating</td><td>Post Office</td><td>Telephone</td></tr><tr><td>Blue Square</td><td>Dock</td><td>Information</td><td>Post Office</td><td>Tide/Current PRediction Station</td></tr><tr><td>Blue Triangle</td><td>Drinking Water</td><td>Intersection</td><td>Private Field</td><td>Toll Booth</td></tr><tr><td>Boat Ramp</td><td>Dropoff</td><td>Intl freeway hwy</td><td>Radio Beacon</td><td>TracBack Point</td></tr><tr><td>Border Crossing (Port Of Entry)</td><td>Elevation point</td><td>Intl national hwy</td><td>Ramp intersection</td><td>Trail Head</td></tr><tr><td>Bottom Conditions</td><td>Event Cache</td><td>Italian food</td><td>Red circle</td><td>Truck Stop</td></tr><tr><td>Bowling</td><td>Exit</td><td>Large exit without services</td><td>Red Diamond</td><td>Tunnel</td></tr><tr><td>Bridge</td><td>Exit without services</td><td>Large Ramp intersection</td><td>Red Letter A</td><td>U Marina</td></tr><tr><td>Building</td><td>Fast Food</td><td>Levee</td><td>Red Letter B</td><td>U stump</td></tr><tr><td>Campground</td><td>First approach fix</td><td>Light</td><td>Red Letter C</td><td>Ultralight Area</td></tr><tr><td>Car</td><td>Fishing Area</td><td>Live Theater</td><td>Red Letter D</td><td>Unknown Cache</td></tr><tr><td>Car Rental</td><td>Fishing Hot Spot Facility</td><td>Localizer Outer Marker</td><td>Red Number 0</td><td>US hwy</td></tr><tr><td>Car Repair</td><td>Fitness Center</td><td>Locationless (Reverse) Cache</td><td>Red Number 1</td><td>VHF Omni-range</td></tr><tr><td>Cemetery</td><td>Flag</td><td>Lodging</td><td>Red Number 2</td><td>Virtual cache</td></tr><tr><td>Church</td><td>Flag, Blue</td><td>Man Overboard</td><td>Red Number 3</td><td>VOR-DME</td></tr><tr><td>Circle with X</td><td>Flag, Green</td><td>Marina</td><td>Red Number 4</td><td>VOR/TACAN</td></tr><tr><td>City (Capitol)</td><td>Flag, Red</td><td>Medical Facility</td><td>Red Number 5</td><td>Water Hydrant</td></tr><tr><td>City (Large)</td><td>Forest</td><td>Micro-Cache</td><td>Red Number 6</td><td>Waypoint</td></tr><tr><td>City (Medium)</td><td>Gambling/casino</td><td>Mile Marker</td><td>Red Number 7</td><td>Webcam Cache</td></tr><tr><td>City (Small)</td><td>Gas Station</td><td>Military</td><td>Red Number 8</td><td>Weed Bed</td></tr><tr><td>Civil</td><td>Geocache</td><td>Mine</td><td>Red Number 9</td><td>White Buoy</td></tr><tr><td>Coast Guard</td><td>Geocache Found</td><td>Missed approach point</td><td>Red Oval</td><td>White Dot</td></tr><tr><td>Contact, Afro</td><td>Geographic place name, land</td><td>Movie Theater</td><td>Red Rectangle</td><td>Wrecker</td></tr><tr><td>Contact, Alien</td><td>Geographic place name, Man-made</td><td>Multi-Cache</td><td>Red Square</td><td>Zoo</td></tr><tr><td>Contact, Ball Cap</td><td>Geographic place name, water</td><td>Museum</td><td>Red Triangle</td><td> </td></tr></table></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Styles"></a>Appendix C. GPSBabel XCSV Style Files</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#styles_intro">Introduction</a></span></dt><dt><span class="section"><a href="#style_intro2">Style file overview</a></span></dt><dt><span class="section"><a href="#styles_internal_const">Internal Constants</a></span></dt><dt><span class="section"><a href="#style_global">Global Properties of the File</a></span></dt><dt><span class="section"><a href="#style_behavior">GPSBabel Behavior Directives</a></span></dt><dt><span class="section"><a href="#style_layout">Defining the Layout of the File</a></span></dt><dt><span class="section"><a href="#style_define">Defining Fields Within the File</a></span></dt><dt><span class="section"><a href="#style_examples">Examples</a></span></dt><dt><span class="section"><a href="#style_notes">Miscellaneous Notes</a></span></dt></dl></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="styles_intro"></a>Introduction</h2></div></div></div><p>
+</p><table class="simplelist" border="0" summary="Simple list"><tr><td>ATV</td><td>Contact, Glasses</td><td>Hunting Area</td><td>Number 0, Green</td><td>Scales</td></tr><tr><td>Airport</td><td>Contact, Goatee</td><td>Ice Skating</td><td>Number 0, Red</td><td>Scenic Area</td></tr><tr><td>Amusement Park</td><td>Contact, Kung-Fu</td><td>Information</td><td>Number 1, Blue</td><td>School</td></tr><tr><td>Anchor</td><td>Contact, Panda</td><td>Intersection</td><td>Number 1, Green</td><td>Seafood</td></tr><tr><td>Anchor Prohibited</td><td>Contact, Pig</td><td>Intl freeway hwy</td><td>Number 1, Red</td><td>Seaplane Base</td></tr><tr><td>Animal Tracks</td><td>Contact, Pirate</td><td>Intl national hwy</td><td>Number 2, Blue</td><td>Shipwreck</td></tr><tr><td>Asian Food</td><td>Contact, Ranger</td><td>Italian food</td><td>Number 2, Green</td><td>Shopping Center</td></tr><tr><td>Bait and Tackle</td><td>Contact, Smiley</td><td>Large Ramp intersection</td><td>Number 2, Red</td><td>Short Tower</td></tr><tr><td>Ball Park</td><td>Contact, Spike</td><td>Large exit without services</td><td>Number 3, Blue</td><td>Shower</td></tr><tr><td>Bank</td><td>Contact, Sumo</td><td>Letter A, Blue</td><td>Number 3, Green</td><td>Ski Resort</td></tr><tr><td>Bar</td><td>Controlled Area</td><td>Letter A, Green</td><td>Number 3, Red</td><td>Skiing Area</td></tr><tr><td>Beach</td><td>Convenience Store</td><td>Letter A, Red</td><td>Number 4, Blue</td><td>Skull and Crossbones</td></tr><tr><td>Beacon</td><td>Cover</td><td>Letter B, Blue</td><td>Number 4, Green</td><td>Small City</td></tr><tr><td>Bell</td><td>Covey</td><td>Letter B, Green</td><td>Number 4, Red</td><td>Small Game</td></tr><tr><td>Big Game</td><td>Crossing</td><td>Letter B, Red</td><td>Number 5, Blue</td><td>Soft Field</td></tr><tr><td>Bike Trail</td><td>Dam</td><td>Letter C, Blue</td><td>Number 5, Green</td><td>Square, Blue</td></tr><tr><td>Blind</td><td>Danger Area</td><td>Letter C, Green</td><td>Number 5, Red</td><td>Square, Green</td></tr><tr><td>Block, Blue</td><td>Deli</td><td>Letter C, Red</td><td>Number 6, Blue</td><td>Square, Red</td></tr><tr><td>Block, Green</td><td>Department Store</td><td>Letter D, Blue</td><td>Number 6, Green</td><td>Stadium</td></tr><tr><td>Block, Red</td><td>Diamond, Blue</td><td>Letter D, Green</td><td>Number 6, Red</td><td>State Hwy</td></tr><tr><td>Blood Trail</td><td>Diamond, Green</td><td>Letter D, Red</td><td>Number 7, Blue</td><td>Steak</td></tr><tr><td>Boat Ramp</td><td>Diamond, Red</td><td>Letterbox Cache</td><td>Number 7, Green</td><td>Street Intersection</td></tr><tr><td>Border Crossing (Port Of Entry)</td><td>Diver Down Flag 1</td><td>Levee</td><td>Number 7, Red</td><td>Stump</td></tr><tr><td>Bottom Conditions</td><td>Diver Down Flag 2</td><td>Library</td><td>Number 8, Blue</td><td>Summit</td></tr><tr><td>Bowling</td><td>Dock</td><td>Light</td><td>Number 8, Green</td><td>Swimming Area</td></tr><tr><td>Bridge</td><td>Dot, White</td><td>Live Theater</td><td>Number 8, Red</td><td>TACAN</td></tr><tr><td>Building</td><td>Drinking Water</td><td>Localizer Outer Marker</td><td>Number 9, Blue</td><td>Tall Tower</td></tr><tr><td>Buoy, White</td><td>Dropoff</td><td>Locationless (Reverse) Cache</td><td>Number 9, Green</td><td>Telephone</td></tr><tr><td>Campground</td><td>Elevation point</td><td>Lodge</td><td>Number 9, Red</td><td>Tide/Current PRediction Station</td></tr><tr><td>Car</td><td>Event Cache</td><td>Lodging</td><td>Oil Field</td><td>Toll Booth</td></tr><tr><td>Car Rental</td><td>Exit</td><td>Man Overboard</td><td>Open 24 Hours</td><td>TracBack Point</td></tr><tr><td>Car Repair</td><td>Exit without services</td><td>Marina</td><td>Oval, Blue</td><td>Trail Head</td></tr><tr><td>Cemetery</td><td>Fast Food</td><td>Medical Facility</td><td>Oval, Green</td><td>Tree Stand</td></tr><tr><td>Church</td><td>First approach fix</td><td>Micro-Cache</td><td>Oval, Red</td><td>Treed Quarry</td></tr><tr><td>Circle with X</td><td>Fishing Area</td><td>Mile Marker</td><td>Parachute Area</td><td>Triangle, Blue</td></tr><tr><td>Circle, Blue</td><td>Fishing Hot Spot Facility</td><td>Military</td><td>Park</td><td>Triangle, Green</td></tr><tr><td>Circle, Green</td><td>Fitness Center</td><td>Mine</td><td>Parking Area</td><td>Triangle, Red</td></tr><tr><td>Circle, Red</td><td>Flag</td><td>Missed approach point</td><td>Pharmacy</td><td>Truck</td></tr><tr><td>City (Capitol)</td><td>Flag, Blue</td><td>Movie Theater</td><td>Picnic Area</td><td>Truck Stop</td></tr><tr><td>City (Large)</td><td>Flag, Green</td><td>Multi-Cache</td><td>Pin, Blue</td><td>Tunnel</td></tr><tr><td>City (Medium)</td><td>Flag, Red</td><td>Multi-Cache</td><td>Pin, Green</td><td>U Marina</td></tr><tr><td>City (Small)</td><td>Food Source</td><td>Museum</td><td>Pin, Red</td><td>U stump</td></tr><tr><td>City Hall</td><td>Forest</td><td>Navaid, Amber</td><td>Pizza</td><td>US hwy</td></tr><tr><td>Civil</td><td>Furbearer</td><td>Navaid, Black</td><td>Police Station</td><td>Ultralight Area</td></tr><tr><td>Coast Guard</td><td>Gambling/casino</td><td>Navaid, Blue</td><td>Post Office</td><td>Unknown Cache</td></tr><tr><td>Contact, Afro</td><td>Gas Station</td><td>Navaid, Green</td><td>Post Office</td><td>Upland Game</td></tr><tr><td>Contact, Alien</td><td>Geocache</td><td>Navaid, Green/Red</td><td>Private Field</td><td>VHF Omni-range</td></tr><tr><td>Contact, Ball Cap</td><td>Geocache Found</td><td>Navaid, Green/White</td><td>Puzzle Cache</td><td>VOR-DME</td></tr><tr><td>Contact, Big Ears</td><td>Geographic place name, Man-made</td><td>Navaid, Orange</td><td>RV Park</td><td>VOR/TACAN</td></tr><tr><td>Contact, Biker</td><td>Geographic place name, land</td><td>Navaid, Red</td><td>Radio Beacon</td><td>Virtual cache</td></tr><tr><td>Contact, Blonde</td><td>Geographic place name, water</td><td>Navaid, Red/Green</td><td>Ramp intersection</td><td>Water Hydrant</td></tr><tr><td>Contact, Bug</td><td>Ghost Town</td><td>Navaid, Red/White</td><td>Rectangle, Blue</td><td>Water Source</td></tr><tr><td>Contact, Cat</td><td>Glider Area</td><td>Navaid, Violet</td><td>Rectangle, Green</td><td>Waterfowl</td></tr><tr><td>Contact, Clown</td><td>Golf Course</td><td>Navaid, White</td><td>Rectangle, Red</td><td>Waypoint</td></tr><tr><td>Contact, Dog</td><td>Ground Transportation</td><td>Navaid, White/Green</td><td>Reef</td><td>Webcam Cache</td></tr><tr><td>Contact, Dreadlocks</td><td>Heliport</td><td>Navaid, White/Red</td><td>Residence</td><td>Weed Bed</td></tr><tr><td>Contact, Female1</td><td>Horn</td><td>Non-directional beacon</td><td>Restaurant</td><td>Winery</td></tr><tr><td>Contact, Female2</td><td>Hotel</td><td>Null</td><td>Restricted Area</td><td>Wrecker</td></tr><tr><td>Contact, Female3</td><td>House</td><td>Number 0, Blue</td><td>Restroom</td><td>Zoo</td></tr></table></div><div class="appendix" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="Styles"></a>Appendix C. GPSBabel XCSV Style Files</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#styles_intro">Introduction</a></span></dt><dt><span class="section"><a href="#style_intro2">Style file overview</a></span></dt><dt><span class="section"><a href="#styles_internal_const">Internal Constants</a></span></dt><dt><span class="section"><a href="#style_global">Global Properties of the File</a></span></dt><dt><span class="section"><a href="#style_behavior">GPSBabel Behavior Directives</a></span></dt><dt><span class="section"><a href="#style_layout">Defining the Layout of the File</a></span></dt><dt><span class="section"><a href="#style_define">Defining Fields Within the File</a></span></dt><dt><span class="section"><a href="#style_examples">Examples</a></span></dt><dt><span class="section"><a href="#style_notes">Miscellaneous Notes</a></span></dt></dl></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="styles_intro"></a>Introduction</h2></div></div></div><p>
Often it is desirable to add a new file format for "one-off" work (perhaps
you want to export something to a spreadsheet or graphing program) or to read
a format that GPSBabel does not yet support. For suitably simple formats,
format use that file. If you created a new style file called
"mystyle.style" and you want to write the waypoints from
a GPX file named "mine.gpx" to it, you would issue a command like:
-</p><pre class="screen">gpsbabel -i gpx -f mine.gpx -o xcsv,style=mystyle.style -f mine.new</pre><p>
+</p><p><strong class="userinput"><code>gpsbabel -i gpx -f mine.gpx -o xcsv,style=mystyle.style -f mine.new</code></strong></p><p>
You might then examine <code class="filename">mine.new</code> to see if it met
your expectations. If not, you could continue to tweak
<code class="filename">mystyle.style</code> until it did, rerunning the above
<br />
#<br />
# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:<br />
-# NOTE: MS S&T ONLY IMPORTS DATA, IT DOESN'T EXPORT THIS ANYWHERE SO WE CAN<br />
-# HAVE OUR WAY WITH THE FORMATTING. <br />
+# NOTE: MS S&T ONLY IMPORTS DATA, IT DOESN'T <br />
+# EXPORT THIS ANYWHERE SO WE CAN HAVE OUR <br />
+# WAY WITH THE FORMATTING. <br />
#<br />
IFIELD SHORTNAME, "", "%s" # Name<br />
IFIELD LAT_DECIMAL, "", "%f" # Latitude<br />
</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="style_global_encoding"></a>ENCODING</h3></div></div></div><p>
Describes the character set used by this format. The value given
must be one listed by 'gpsbabel -l'. example:
-</p><pre class="screen"> ENCODING UTF-8 # Use UTF-8 for input and output.
+</p><pre class="screen"> ENCODING UTF-8 # Use UTF-8 for input and output.
+</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="style_global_datum"></a>DATUM</h3></div></div></div><p>
+This value specifies the GPS datum to be used on read or write. Valid values for this
+option are listed in <a href="#Datums" title="Appendix A. Supported Datums">Appendix A, <i>Supported Datums</i></a>.
+</p><pre class="screen"> DATUM European 1950
+</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="style_global_datatype"></a>DATATYPE</h3></div></div></div><p>
+Specifies the kind of data we have to read or write.
+</p><p>
+By default all data are seen as waypoint data. With DATATYPE you are now able to bind
+a specific type to this format. Possible values are WAYPOINT, ROUTE or TRACK.
+</p><pre class="screen"> DATATYPE ROUTE # route-only format
</pre></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="style_behavior"></a>GPSBabel Behavior Directives</h2></div></div></div><p>
There are a few available directives to control some of the internal
processing functions of GPSbabel.
is CHARACTER data and requires a character array printf conversion.
</p><p>
example:
-</p><pre class="screen"> IFIELD SHORTNAME,"","%s" # (write shortname in the output file)
+</p><pre class="screen"> IFIELD SHORTNAME,"","%s"
</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="style_def_description"></a>DESCRIPTION</h3></div></div></div><p>
A DESCRIPTION is generally a long description of the waypoint. A
DESCRIPTION maps to the GPSBabel variable ->description and is otherwise
handled exactly like a SHORTNAME.
</p><p>
examples:
-</p><pre class="screen"> IFIELD DESCRIPTION,"","%s" # (write description in the output file)
+</p><pre class="screen"> IFIELD DESCRIPTION,"","%s"
</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="style_def_notes"></a>NOTES</h3></div></div></div><p>
NOTES are generally everything else about a waypoints. NOTES map to the
GPSBabel variable ->notes and is otherwise handled exactly like a
->url and is otherwise handled exactly like a SHORTNAME.
</p><p>
example:
-</p><pre class="screen"> IFIELD URL,"","%s" # (writes the URL in the output file)
+</p><pre class="screen"> IFIELD URL,"","%s"
</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="style_def_urllinktext"></a>URL_LINK_TEXT</h3></div></div></div><p>
URL_LINK_TEXT is a textual description of where a URL points.
URL_LINK_TEXT maps to the GPSBabel variable ->url_link_text and
is otherwise handled exactly like a SHORTNAME.
</p><p>
example:
-</p><pre class="screen"> IFIELD URL_LINK_TEXT,"","%s" # (writes link text in the output file)
+</p><pre class="screen"> IFIELD URL_LINK_TEXT,"","%s"
</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="style_def_icondescr"></a>ICON_DESCR</h3></div></div></div><p>
ICON_DESCR is a textual description of an icon type for a waypoint.
ICON_DESCR maps to the GPSBabel variable ->icon_desc and is otherwise
handled exactly like a SHORTNAME.
</p><p>
example:
-</p><pre class="screen"> IFIELD ICON_DESCR,"","%s" # (writes link text in the output file)
+</p><pre class="screen"> IFIELD ICON_DESCR,"","%s"
</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="style_def_latdec"></a>LAT_DECIMAL</h3></div></div></div><p>
LAT_DECIMAL defines LATITUDE in DECIMAL format. Note that this is a PURE
signed decimal format (i.e. -91.0000). This data is handled internally as
latitude and longitude based on what is in the file.
</p><p>
examples:
-</p><pre class="screen"> IFIELD LAT_HUMAN_READABLE,"","%c %d %f" # (writes N 31 40.000)
+</p><pre class="screen">
+ # (writes N 31 40.000)
+ IFIELD LAT_HUMAN_READABLE,"","%c %d %f"
+ # (writes "31 deg 40.000 min N")
IFIELD LAT_HUMAN_READABLE,"","%d deg %f min %c"
- # (writes "31 deg 40.000 min N")
- # Note that this string will confuse the reading routine due
- # to the letter "n" in "min" and the letter "e" in "deg."
- IFIELD LAT_HUMAN_READABLE,"","%d %d %f%c" # (writes 31 40 00.000N)
+ # Note that this string will confuse the reading routine due
+ # to the letter "n" in "min" and the letter "e" in "deg."
+ # (writes 31 40 00.000N)
+ IFIELD LAT_HUMAN_READABLE,"","%d %d %f%c"
</pre></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="style_def_lonhuman"></a>LON_HUMAN_READABLE</h3></div></div></div><p>
See LAT_HUMAN_READABLE except LON_HUMAN_READABLE defines LONGITUDE.
</p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="style_def_latlonhuman"></a>LATLON_HUMAN_READABLE</h3></div></div></div><p>
/*
Access GPX data files.
- Copyright (C) 2002, 2003, 2004, 2005 Robert Lipe, robertlipe@usa.net
+ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Robert Lipe, robertlipe@usa.net
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
static waypoint *wpt_tmp;
static int cache_descr_is_html;
-static FILE *fd;
-static FILE *ofd;
+static gbfile *fd;
+static gbfile *ofd;
static short_handle mkshort_handle;
static const char *input_string = NULL;
return;
}
- fprintf(ofd, "<%s>", tag);
+ gbfprintf(ofd, "<%s>", tag);
QUEUE_FOR_EACH(&ge->queue, elem, tmp) {
gep = BASE_STRUCT(elem, gpx_global_entry, queue);
- fprintf(ofd, "%s", gep->tagdata);
+ gbfprintf(ofd, "%s", gep->tagdata);
/* Some tags we just output once. */
if ((0 == strcmp(tag, "url")) ||
(0 == strcmp(tag, "email"))) {
break;
}
- fprintf(ofd, " ");
+ gbfprintf(ofd, " ");
}
- fprintf(ofd, "</%s>\n", tag);
+ gbfprintf(ofd, "</%s>\n", tag);
}
{ tt_wpt_link_text, 0, "/gpx/wpt/link/text", 0UL }, /* GPX 1.1 */
{ tt_wpt_sym, 0, "/gpx/wpt/sym", 0UL },
{ tt_wpt_type, 1, "/gpx/wpt/type", 0UL },
-
- { tt_cache, 1, "/gpx/wpt/groundspeak:cache", 0UL },
- { tt_cache_name, 1, "/gpx/wpt/groundspeak:cache/groundspeak:name", 0UL },
- { tt_cache_container, 1, "/gpx/wpt/groundspeak:cache/groundspeak:container", 0UL },
- { tt_cache_type, 1, "/gpx/wpt/groundspeak:cache/groundspeak:type", 0UL },
- { tt_cache_difficulty, 1, "/gpx/wpt/groundspeak:cache/groundspeak:difficulty", 0UL },
- { tt_cache_terrain, 1, "/gpx/wpt/groundspeak:cache/groundspeak:terrain", 0UL },
- { tt_cache_hint, 1, "/gpx/wpt/groundspeak:cache/groundspeak:encoded_hints", 0UL },
- { tt_cache_desc_short, 1, "/gpx/wpt/groundspeak:cache/groundspeak:short_description", 0UL },
- { tt_cache_desc_long, 1, "/gpx/wpt/groundspeak:cache/groundspeak:long_description", 0UL },
- { tt_cache_log_wpt, 1, "/gpx/wpt/groundspeak:cache/groundspeak:logs/groundspeak:log/groundspeak:log_wpt", 0UL },
- { tt_cache_log_type, 1, "/gpx/wpt/groundspeak:cache/groundspeak:logs/groundspeak:log/groundspeak:type", 0UL },
- { tt_cache_log_date, 1, "/gpx/wpt/groundspeak:cache/groundspeak:logs/groundspeak:log/groundspeak:date", 0UL },
- { tt_cache_placer, 1, "/gpx/wpt/groundspeak:cache/groundspeak:owner", 0UL },
+
+ /* Double up the GPX 1.0 and GPX 1.1 styles */
+#define GEOTAG(type,name) \
+ {type, 1, "/gpx/wpt/groundspeak:cache/groundspeak:" name, 0UL }, \
+ {type, 1, "/gpx/wpt/extensions/cache/" name, 0UL }
+
+ GEOTAG( tt_cache, "cache"),
+ GEOTAG( tt_cache_name, "name"),
+ GEOTAG( tt_cache_container, "container"),
+ GEOTAG( tt_cache_type, "type"),
+ GEOTAG( tt_cache_difficulty, "difficulty"),
+ GEOTAG( tt_cache_terrain, "terrain"),
+ GEOTAG( tt_cache_hint, "encoded_hints"),
+ GEOTAG( tt_cache_desc_short, "short_description"),
+ GEOTAG( tt_cache_desc_long, "long_description"),
+ GEOTAG( tt_cache_placer, "owner"),
+ { tt_cache_log_wpt, 1, "/gpx/wpt/groundspeak:cache/groundspeak:logs/groundspeak:log/groundspeak:log_wpt"},
+ { tt_cache_log_wpt, 1, "/gpx/wpt/extensions/cache/logs/log/log_wpt"},
+ { tt_cache_log_type, 1, "/gpx/wpt/groundspeak:cache/groundspeak:logs/groundspeak:log/groundspeak:type"},
+ { tt_cache_log_type, 1, "/gpx/wpt/extensions/cache/logs/log/type"},
+ { tt_cache_log_date, 1, "/gpx/wpt/groundspeak:cache/groundspeak:logs/groundspeak:log/groundspeak:date"},
+ { tt_cache_log_date, 1, "/gpx/wpt/extensions/cache/logs/log/date"},
{ tt_garmin_extension, 0, "/gpx/wpt/extensions", 0UL },
{ tt_garmin_waypt_extension, 0, "/gpx/wpt/extensions/gpxx:WaypointExtension", 0UL },
}
time_t
-xml_parse_time( const char *cdatastr )
+xml_parse_time( const char *cdatastr, int *microsecs )
{
int off_hr = 0;
int off_min = 0;
pointstr = strchr( timestr, '.' );
if ( pointstr ) {
+ if (microsecs) {
+ double fsec;
+ sscanf(pointstr, "%le", &fsec);
+ /* Round to avoid FP jitter */
+ *microsecs = .5 + (fsec * 1000000.0) ;
+ }
*pointstr = '\0';
}
wpt_tmp->gc_data.placer = xstrdup(cdatastrp);
break;
case tt_cache_log_date:
- gc_log_date = xml_parse_time( cdatastrp );
+ gc_log_date = xml_parse_time( cdatastrp, NULL );
break;
/*
* "Found it" logs follow the date according to the schema,
case tt_wpt_time:
case tt_trk_trkseg_trkpt_time:
case tt_rte_rtept_time:
- wpt_tmp->creation_time = xml_parse_time( cdatastrp );
+ wpt_tmp->creation_time = xml_parse_time( cdatastrp, &wpt_tmp->microseconds );
break;
case tt_wpt_cmt:
case tt_rte_rtept_cmt:
gpx_rd_init(const char *fname)
{
if ( fname[0] ) {
- fd = xfopen(fname, "r", MYNAME);
+ fd = gbfopen(fname, "r", MYNAME);
}
else {
fd = NULL;
gpx_author = NULL;
}
if (fd) {
- fclose(fd);
+ gbfclose(fd);
}
XML_ParserFree(psr);
psr = NULL;
{
mkshort_handle = mkshort_new_handle();
- ofd = xfopen(fname, "w", MYNAME);
+ ofd = gbfopen(fname, "w", MYNAME);
}
static void
gpx_wr_deinit(void)
{
- fclose(ofd);
+ gbfclose(ofd);
mkshort_del_handle(&mkshort_handle);
}
char *badchar;
char *semi;
int maxentlength = 8;
- len = fread(buf, 1, MY_CBUF_SZ - maxentlength, fd);
- done = feof(fd) || !len;
+ len = gbfread(buf, 1, MY_CBUF_SZ - maxentlength, fd);
+ done = gbfeof(fd) || !len;
buf[len] = '\0';
+ if (len < maxentlength) {
+ maxentlength = len;
+ }
badchar = buf+len-maxentlength;
badchar = strchr( badchar, '&' );
extra = maxentlength - 1; /* for terminator */
while ( badchar && len < MY_CBUF_SZ-1) {
semi = strchr( badchar, ';');
while ( extra && !semi ) {
- len += fread( buf+len, 1, 1, fd);
+ len += gbfread( buf+len, 1, 1, fd);
buf[len]='\0';
extra--;
if ( buf[len-1] == ';')
fprint_tag_and_attrs( char *prefix, char *suffix, xml_tag *tag )
{
char **pa;
- fprintf( ofd, "%s%s", prefix, tag->tagname );
+ gbfprintf( ofd, "%s%s", prefix, tag->tagname );
pa = tag->attributes;
if ( pa ) {
while ( *pa ) {
- fprintf( ofd, " %s=\"%s\"", pa[0], pa[1] );
+ gbfprintf( ofd, " %s=\"%s\"", pa[0], pa[1] );
pa += 2;
}
}
- fprintf( ofd, "%s", suffix );
+ gbfprintf( ofd, "%s", suffix );
}
static void
if ( tag->cdata ) {
tmp_ent = xml_entitize( tag->cdata );
- fprintf( ofd, "%s", tmp_ent );
+ gbfprintf( ofd, "%s", tmp_ent );
xfree(tmp_ent);
}
if ( tag->child ) {
}
if ( wpt && wpt->gc_data.exported &&
strcmp(tag->tagname, "groundspeak:cache" ) == 0 ) {
- xml_write_time( ofd, wpt->gc_data.exported,
+ xml_write_time( ofd, wpt->gc_data.exported, 0,
"groundspeak:exported" );
}
- fprintf( ofd, "</%s>\n", tag->tagname);
+ gbfprintf( ofd, "</%s>\n", tag->tagname);
}
if ( tag->parentcdata ) {
tmp_ent = xml_entitize(tag->parentcdata);
- fprintf(ofd, "%s", tmp_ent );
+ gbfprintf(ofd, "%s", tmp_ent );
xfree(tmp_ent);
}
tag = tag->sibling;
tmp_ent = xml_entitize(waypointp->url);
if (gpx_wversion_num > 10) {
- fprintf(ofd, " <link href=\"%s%s\">\n",
+ gbfprintf(ofd, " <link href=\"%s%s\">\n",
urlbase ? urlbase : "", tmp_ent);
write_optional_xml_entity(ofd, " ", "text",
waypointp->url_link_text);
- fprintf(ofd, " </link>\n");
+ gbfprintf(ofd, " </link>\n");
} else {
- fprintf(ofd, " <url>%s%s</url>\n",
+ gbfprintf(ofd, " <url>%s%s</url>\n",
urlbase ? urlbase : "", tmp_ent);
write_optional_xml_entity(ofd, " ", "urlname",
waypointp->url_link_text);
break;
}
if (fix) {
- fprintf(ofd, "%s<fix>%s</fix>\n", indent, fix);
+ gbfprintf(ofd, "%s<fix>%s</fix>\n", indent, fix);
}
if (waypointp->sat > 0) {
- fprintf(ofd, "%s<sat>%d</sat>\n", indent, waypointp->sat);
+ gbfprintf(ofd, "%s<sat>%d</sat>\n", indent, waypointp->sat);
}
if (waypointp->hdop) {
- fprintf(ofd, "%s<hdop>%f</hdop>\n", indent, waypointp->hdop);
+ gbfprintf(ofd, "%s<hdop>%f</hdop>\n", indent, waypointp->hdop);
}
if (waypointp->vdop) {
- fprintf(ofd, "%s<vdop>%f</vdop>\n", indent, waypointp->vdop);
+ gbfprintf(ofd, "%s<vdop>%f</vdop>\n", indent, waypointp->vdop);
}
if (waypointp->pdop) {
- fprintf(ofd, "%s<pdop>%f</pdop>\n", indent, waypointp->pdop);
+ gbfprintf(ofd, "%s<pdop>%f</pdop>\n", indent, waypointp->pdop);
}
}
gpx_write_common_position(const waypoint *waypointp, const char *indent)
{
if (waypointp->altitude != unknown_alt) {
- fprintf(ofd, "%s<ele>%f</ele>\n",
+ gbfprintf(ofd, "%s<ele>%f</ele>\n",
indent, waypointp->altitude);
}
if (waypointp->creation_time) {
- xml_write_time(ofd, waypointp->creation_time, "time");
+ xml_write_time(ofd, waypointp->creation_time, waypointp->microseconds, "time");
}
}
mkshort(mkshort_handle, odesc) :
waypointp->shortname;
- fprintf(ofd, "<wpt lat=\"" FLT_FMT "\" lon=\"" FLT_FMT "\">\n",
+ gbfprintf(ofd, "<wpt lat=\"" FLT_FMT "\" lon=\"" FLT_FMT "\">\n",
waypointp->latitude,
waypointp->longitude);
if (gpx_wversion_num > 10) {
garmin_fs_xml_fprint(ofd, waypointp);
}
- fprintf(ofd, "</wpt>\n");
+ gbfprintf(ofd, "</wpt>\n");
}
static void
{
fs_xml *fs_gpx;
- fprintf(ofd, "<trk>\n");
+ gbfprintf(ofd, "<trk>\n");
write_optional_xml_entity(ofd, " ", "name", rte->rte_name);
write_optional_xml_entity(ofd, " ", "desc", rte->rte_desc);
if (rte->rte_num) {
- fprintf(ofd, "<number>%d</number>\n", rte->rte_num);
+ gbfprintf(ofd, "<number>%d</number>\n", rte->rte_num);
}
- fprintf(ofd, "<trkseg>\n");
+ gbfprintf(ofd, "<trkseg>\n");
fs_gpx = (fs_xml *)fs_chain_find( rte->fs, FS_GPX );
if ( fs_gpx ) {
{
fs_xml *fs_gpx;
- fprintf(ofd, "<trkpt lat=\"" FLT_FMT_T "\" lon=\"" FLT_FMT_T "\">\n",
+ gbfprintf(ofd, "<trkpt lat=\"" FLT_FMT_T "\" lon=\"" FLT_FMT_T "\">\n",
waypointp->latitude,
waypointp->longitude);
/* These were accidentally removed from 1.1 */
if (gpx_wversion_num == 10) {
if (waypointp->course >= 0) {
- fprintf(ofd, " <course>%f</course>\n",
+ gbfprintf(ofd, " <course>%f</course>\n",
waypointp->course);
}
if (waypointp->speed >= 0) {
- fprintf(ofd, " <speed>%f</speed>\n",
+ gbfprintf(ofd, " <speed>%f</speed>\n",
waypointp->speed);
}
}
fprint_xml_chain( fs_gpx->tag, waypointp );
}
- fprintf(ofd, "</trkpt>\n");
+ gbfprintf(ofd, "</trkpt>\n");
}
static void
gpx_track_tlr(const route_head *rte)
{
- fprintf(ofd, "</trkseg>\n");
- fprintf(ofd, "</trk>\n");
+ gbfprintf(ofd, "</trkseg>\n");
+ gbfprintf(ofd, "</trk>\n");
}
static
{
fs_xml *fs_gpx;
- fprintf(ofd, "<rte>\n");
+ gbfprintf(ofd, "<rte>\n");
write_optional_xml_entity(ofd, " ", "name", rte->rte_name);
write_optional_xml_entity(ofd, " ", "desc", rte->rte_desc);
if (rte->rte_num) {
- fprintf(ofd, " <number>%d</number>\n", rte->rte_num);
+ gbfprintf(ofd, " <number>%d</number>\n", rte->rte_num);
}
fs_gpx = (fs_xml *)fs_chain_find( rte->fs, FS_GPX );
{
fs_xml *fs_gpx;
- fprintf(ofd, " <rtept lat=\"" FLT_FMT_R "\" lon=\"" FLT_FMT_R "\">\n",
+ gbfprintf(ofd, " <rtept lat=\"" FLT_FMT_R "\" lon=\"" FLT_FMT_R "\">\n",
waypointp->latitude,
waypointp->longitude);
fprint_xml_chain( fs_gpx->tag, waypointp );
}
- fprintf(ofd, " </rtept>\n");
+ gbfprintf(ofd, " </rtept>\n");
}
static void
gpx_route_tlr(const route_head *rte)
{
- fprintf(ofd, "</rte>\n");
+ gbfprintf(ofd, "</rte>\n");
}
static
track_disp_all(NULL, NULL, gpx_waypt_bound_calc);
if (waypt_bounds_valid(&all_bounds)) {
- fprintf(ofd, "<bounds minlat=\"%0.9f\" minlon =\"%0.9f\" "
- "maxlat=\"%0.9f\" maxlon=\"%0.9f\" />\n",
+ gbfprintf(ofd, "<bounds minlat=\"%0.9f\" minlon=\"%0.9f\" "
+ "maxlat=\"%0.9f\" maxlon=\"%0.9f\"/>\n",
all_bounds.min_lat, all_bounds.min_lon,
all_bounds.max_lat, all_bounds.max_lon);
}
setshort_length(mkshort_handle, short_length);
- fprintf(ofd, "<?xml version=\"1.0\" encoding=\"%s\"?>\n", global_opts.charset_name);
- fprintf(ofd, "<gpx\n version=\"%s\"\n", gpx_wversion);
- fprintf(ofd, "creator=\"" CREATOR_NAME_URL "\"\n");
- fprintf(ofd, "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n");
- fprintf(ofd, "xmlns=\"http://www.topografix.com/GPX/%c/%c\"\n", gpx_wversion[0], gpx_wversion[2]);
+ gbfprintf(ofd, "<?xml version=\"1.0\" encoding=\"%s\"?>\n", global_opts.charset_name);
+ gbfprintf(ofd, "<gpx\n version=\"%s\"\n", gpx_wversion);
+ gbfprintf(ofd, "creator=\"" CREATOR_NAME_URL "\"\n");
+ gbfprintf(ofd, "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n");
+ gbfprintf(ofd, "xmlns=\"http://www.topografix.com/GPX/%c/%c\"\n", gpx_wversion[0], gpx_wversion[2]);
if (xsi_schema_loc) {
- fprintf(ofd, "xsi:schemaLocation=\"%s\">\n", xsi_schema_loc);
+ gbfprintf(ofd, "xsi:schemaLocation=\"%s\">\n", xsi_schema_loc);
} else {
- fprintf(ofd,
+ gbfprintf(ofd,
"xsi:schemaLocation=" DEFAULT_XSI_SCHEMA_LOC_FMT">\n",
gpx_wversion[0], gpx_wversion[2],
gpx_wversion[0], gpx_wversion[2]);
}
if (gpx_wversion_num > 10) {
- fprintf(ofd, "<metadata>\n");
+ gbfprintf(ofd, "<metadata>\n");
}
gpx_write_gdata(&gpx_global->name, "name");
gpx_write_gdata(&gpx_global->desc, "desc");
gpx_write_gdata(&gpx_global->email, "email");
gpx_write_gdata(&gpx_global->url, "url");
gpx_write_gdata(&gpx_global->urlname, "urlname");
- xml_write_time( ofd, now, "time" );
+ xml_write_time( ofd, now, 0, "time" );
gpx_write_gdata(&gpx_global->keywords, "keywords");
gpx_write_bounds();
if (gpx_wversion_num > 10) {
- fprintf(ofd, "</metadata>\n");
+ gbfprintf(ofd, "</metadata>\n");
}
waypt_disp_all(gpx_waypt_pr);
gpx_route_pr();
gpx_track_pr();
- fprintf(ofd, "</gpx>\n");
+ gbfprintf(ofd, "</gpx>\n");
}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/robertl/xerces-c1_7_0-linux7.2/lib
export PATH=$PATH:/home/robertl/xerces-c1_7_0-linux7.2/bin
+validate()
+{
+ SAX2Count -p -f -v=always $*
+}
+
gpxval()
{
echo "Validating $*"
./gpsbabel $* -o gpx -F /tmp/$$.gpx
- SAX2Count /tmp/$$.gpx
+ validate /tmp/$$.gpx
./gpsbabel $* -o gpx,gpxver=1.0 -F /tmp/$$.gpx
- SAX2Count /tmp/$$.gpx
+ validate /tmp/$$.gpx
./gpsbabel $* -o gpx,gpxver=1.1 -F /tmp/$$.gpx
- SAX2Count /tmp/$$.gpx
+ validate /tmp/$$.gpx
}
#include "defs.h"
#include "jeeps/gpsmath.h"
-static FILE *fd, *ofd;
+static gbfile *file_in, *file_out;
static int indatum;
static int wp_count;
static int ws_count;
/* Read functions, according to specification. */
-static void
-fread_discard(FILE *fd, int len)
-{
- char buf[1024];
- fread(buf, 1, len, fd);
-}
-
-static unsigned char
-fread_byte(FILE *fd)
-{
- unsigned char buf[1];
- fread(buf, 1, 1, fd);
- return buf[0];
-}
+#define fread_discard(a,b) gbfseek(a, (b), SEEK_CUR)
+#define fread_byte(a) (unsigned char) gbfgetc(a)
#if 0
/* not used */
static short int
-fread_bool(FILE *fd)
+fread_bool(gbfile *fd)
{
char buf[2];
- fread(buf, 2, 1, fd);
+ gbfread(buf, 2, 1, fd);
return le_read16(buf) ? 1 : 0;
}
#endif
-static short int
-fread_integer(FILE *fd)
-{
- char buf[2];
- fread(buf, 2, 1, fd);
- return le_read16(buf);
-}
-
-static int
-fread_long(FILE *fd)
-{
- char buf[4];
- fread(buf, 4, 1, fd);
- return le_read32(buf);
-}
-
-static float
-fread_single(FILE *fd)
-{
- unsigned char buf[4];
- float f;
- int i;
- fread(buf, 4, 1, fd);
- i = le_read32(buf);
- memcpy(&f, &i, 4);
- return f;
-}
-
-static double
-fread_double(FILE *fd)
-{
- char buf[8];
- fread(buf, 8, 1, fd);
- return le_read_double(buf);
-}
+#define fread_integer(a) gbfgetint16(a)
+#define fread_long(a) gbfgetint32(a)
+#define fread_single(a) gbfgetflt(a)
+#define fread_double(a) gbfgetdbl(a)
static char *
-fread_string(FILE *fd)
+fread_string(gbfile *fd)
{
- int len = fread_integer(fd);
char *val;
+ int len = fread_integer(fd);
if (len == 0) return NULL;
val = xmalloc(len+1);
- fread(val, 1, len, fd);
+ gbfread(val, 1, len, fd);
while (len != 0 && val[len-1] == ' ')
len--;
val[len] = 0;
}
static void
-fread_string_discard(FILE *fd)
+fread_string_discard(gbfile *fd)
{
char *temp = fread_string(fd);
+
if (temp != NULL) {
xfree(temp);
}
}
static char *
-fread_fixedstring(FILE *fd, int len)
+fread_fixedstring(gbfile *fd, int len)
{
char *val = xmalloc(len+1);
- fread(val, 1, len, fd);
+
+ gbfread(val, 1, len, fd);
while (len != 0 && val[len-1] == ' ')
len--;
val[len] = 0;
/* Write functions, according to specification. */
static void
-fwrite_null(FILE *fd, int len)
+fwrite_null(gbfile *fd, int len)
{
char buf[1024];
- memset(buf, 0, len);
- fwrite(buf, 1, len, fd);
-}
-static void
-fwrite_byte(FILE *fd, unsigned char val)
-{
- fwrite(&val, 1, 1, fd);
-}
-
-static void
-fwrite_bool(FILE *fd, short int val)
-{
- char buf[2];
- buf[0] = buf[1] = val ? 0xff : 0x00;
- fwrite(buf, 2, 1, fd);
-}
-
-static void
-fwrite_integer(FILE *fd, short int val)
-{
- char buf[2];
- le_write16(buf, val);
- fwrite(buf, 2, 1, fd);
-}
-
-static void
-fwrite_long(FILE *fd, int val)
-{
- char buf[4];
- le_write32(buf, val);
- fwrite(buf, 4, 1, fd);
-}
-
-static void
-fwrite_single(FILE *fd, float val)
-{
- char buf[4];
- int i;
- memcpy(&i, &val, 4);
- le_write32(buf, i);
- fwrite(buf, 4, 1, fd);
+ memset(buf, 0, len);
+ gbfwrite(buf, 1, len, fd);
}
-static void
-fwrite_double(FILE *fd, double val)
-{
- char buf[8];
- le_write_double(buf,val);
- fwrite(buf, 8, 1, fd);
-}
+#define fwrite_byte(a,b) gbfputc((signed char)(b), a)
+#define fwrite_bool(a,b) gbfputuint16((b) ? 0xffff : 0, a)
+#define fwrite_integer(a,b) gbfputint16((b), a)
+#define fwrite_long(a,b) gbfputint32((b), a)
+#define fwrite_single(a,b) gbfputflt((b), a)
+#define fwrite_double(a,b) gbfputdbl((b), a)
static void
-fwrite_string(FILE *fd, const char *str)
+fwrite_string(gbfile *fd, const char *str)
{
if (str && str[0]) {
int len = strlen(str);
fwrite_integer(fd, len);
- fwrite(str, 1, len, fd);
+ gbfwrite(str, 1, len, fd);
}
else {
fwrite_integer(fd, 0);
}
void
-fwrite_fixedstring(FILE *fd, const char *str, int fieldlen)
+fwrite_fixedstring(gbfile *fd, const char *str, int fieldlen)
{
int len = str ? strlen(str) : 0;
+
if (len > fieldlen)
len = fieldlen;
if (str)
- fwrite(str, 1, len, fd);
+ gbfwrite(str, 1, len, fd);
for (; len != fieldlen; len++)
- fputc(' ', fd);
+ gbfputc(' ', fd);
}
/* Auxiliar functions */
{
int version;
char *name;
- fd = xfopen(fname, "rb", MYNAME);
- version = fread_integer(fd);
- name = fread_fixedstring(fd, 10);
+ file_in = gbfopen_le(fname, "rb", MYNAME);
+ version = fread_integer(file_in);
+ name = fread_fixedstring(file_in, 10);
if (version == -29921)
fatal(MYNAME ": Uncompress the file first\n");
if (strcmp(name, "TrackMaker") != 0)
xfree(name);
/* Header */
- fread_discard(fd, 15);
- ws_count = fread_long(fd);
- fread_discard(fd, 4);
- wp_count = fread_long(fd);
- tr_count = fread_long(fd);
- rt_count = fread_long(fd);
- fread_discard(fd, 16);
- im_count = fread_long(fd);
- ts_count = fread_long(fd);
- fread_discard(fd, 28);
- fread_string_discard(fd);
- fread_string_discard(fd);
- fread_string_discard(fd);
- fread_string_discard(fd);
+ fread_discard(file_in, 15);
+ ws_count = fread_long(file_in);
+ fread_discard(file_in, 4);
+ wp_count = fread_long(file_in);
+ tr_count = fread_long(file_in);
+ rt_count = fread_long(file_in);
+ fread_discard(file_in, 16);
+ im_count = fread_long(file_in);
+ ts_count = fread_long(file_in);
+ fread_discard(file_in, 28);
+ fread_string_discard(file_in);
+ fread_string_discard(file_in);
+ fread_string_discard(file_in);
+ fread_string_discard(file_in);
/* User Grid and Datum */
- fread_discard(fd, 34);
- set_datum(fread_integer(fd));
- fread_discard(fd, 22);
+ fread_discard(file_in, 34);
+ set_datum(fread_integer(file_in));
+ fread_discard(file_in, 22);
}
static void
gtm_rd_deinit(void)
{
- fclose(fd);
+ gbfclose(file_in);
}
static void count_route_waypts(const waypoint *wpt) { rt_count++; }
track_disp_all(NULL, NULL, count_track_waypts);
route_disp_all(NULL, NULL, count_route_waypts);
- ofd = xfopen(fname, "wb", MYNAME);
+ file_out = gbfopen_le(fname, "wb", MYNAME); /* little endian */
/* Header */
- fwrite_integer(ofd, 211);
- fwrite_fixedstring(ofd, "TrackMaker", 10);
- fwrite_byte(ofd, 0);
- fwrite_byte(ofd, 0);
- fwrite_byte(ofd, 8);
- fwrite_byte(ofd, 0);
- fwrite_byte(ofd, 0);
- fwrite_byte(ofd, 0);
- fwrite_byte(ofd, 0);
- fwrite_long(ofd, 0);
- fwrite_long(ofd, 16777215);
- fwrite_long(ofd, waypt_count() ? 4 : 0); /* num waypoint styles */
- fwrite_long(ofd, 0);
- fwrite_long(ofd, waypt_count()); /* num waypoints */
- fwrite_long(ofd, tr_count);
- fwrite_long(ofd, rt_count);
- fwrite_single(ofd, 0); /* maxlon */
- fwrite_single(ofd, 0); /* minlon */
- fwrite_single(ofd, 0); /* maxlat */
- fwrite_single(ofd, 0); /* minlat */
- fwrite_long(ofd, 0);
- fwrite_long(ofd, track_count()); /* num tracklog styles */
- fwrite_single(ofd, 0);
- fwrite_single(ofd, 0);
- fwrite_bool(ofd, 0);
- fwrite_bool(ofd, 0);
- fwrite_bool(ofd, 0);
- fwrite_bool(ofd, 0);
- fwrite_bool(ofd, 0);
- fwrite_bool(ofd, 0);
- fwrite_bool(ofd, 0);
- fwrite_bool(ofd, 0);
- fwrite_bool(ofd, 0);
- fwrite_bool(ofd, 0);
- fwrite_string(ofd, "Times New Roman");
- fwrite_string(ofd, "");
- fwrite_string(ofd, "");
- fwrite_string(ofd, "");
+ fwrite_integer(file_out, 211);
+ fwrite_fixedstring(file_out, "TrackMaker", 10);
+ fwrite_byte(file_out, 0);
+ fwrite_byte(file_out, 0);
+ fwrite_byte(file_out, 8);
+ fwrite_byte(file_out, 0);
+ fwrite_byte(file_out, 0);
+ fwrite_byte(file_out, 0);
+ fwrite_byte(file_out, 0);
+ fwrite_long(file_out, 0);
+ fwrite_long(file_out, 16777215);
+ fwrite_long(file_out, waypt_count() ? 4 : 0); /* num waypoint styles */
+ fwrite_long(file_out, 0);
+ fwrite_long(file_out, waypt_count()); /* num waypoints */
+ fwrite_long(file_out, tr_count);
+ fwrite_long(file_out, rt_count);
+ fwrite_single(file_out, 0); /* maxlon */
+ fwrite_single(file_out, 0); /* minlon */
+ fwrite_single(file_out, 0); /* maxlat */
+ fwrite_single(file_out, 0); /* minlat */
+ fwrite_long(file_out, 0);
+ fwrite_long(file_out, track_count()); /* num tracklog styles */
+ fwrite_single(file_out, 0);
+ fwrite_single(file_out, 0);
+ fwrite_bool(file_out, 0);
+ fwrite_bool(file_out, 0);
+ fwrite_bool(file_out, 0);
+ fwrite_bool(file_out, 0);
+ fwrite_bool(file_out, 0);
+ fwrite_bool(file_out, 0);
+ fwrite_bool(file_out, 0);
+ fwrite_bool(file_out, 0);
+ fwrite_bool(file_out, 0);
+ fwrite_bool(file_out, 0);
+ fwrite_string(file_out, "Times New Roman");
+ fwrite_string(file_out, "");
+ fwrite_string(file_out, "");
+ fwrite_string(file_out, "");
/* User Grid and Datum */
- fwrite_null(ofd, 34);
- fwrite_integer(ofd, 217); /* WGS84 */
- fwrite_null(ofd, 22);
+ fwrite_null(file_out, 34);
+ fwrite_integer(file_out, 217); /* WGS84 */
+ fwrite_null(file_out, 22);
}
static void
gtm_wr_deinit(void)
{
- fclose(ofd);
+ gbfclose(file_out);
}
static void
/* Image information */
for (i = 0; i != im_count; i++) {
- fread_string_discard(fd);
- fread_string_discard(fd);
- fread_discard(fd, 30);
+ fread_string_discard(file_in);
+ fread_string_discard(file_in);
+ fread_discard(file_in, 30);
}
/* Waypoints */
for (i = 0; i != wp_count; i++) {
wpt = waypt_new();
- wpt->latitude = fread_double(fd);
- wpt->longitude = fread_double(fd);
+ wpt->latitude = fread_double(file_in);
+ wpt->longitude = fread_double(file_in);
convert_datum(&wpt->latitude, &wpt->longitude);
- wpt->shortname = fread_fixedstring(fd, 10);
- wpt->description = fread_string(fd);
- icon = fread_integer(fd);
+ wpt->shortname = fread_fixedstring(file_in, 10);
+ wpt->description = fread_string(file_in);
+ icon = fread_integer(file_in);
if (icon < sizeof(icon_descr)/sizeof(char*))
wpt->icon_descr = icon_descr[icon];
- fread_discard(fd, 1);
- wpt->creation_time = fread_long(fd);
+ fread_discard(file_in, 1);
+ wpt->creation_time = fread_long(file_in);
if (wpt->creation_time)
wpt->creation_time += EPOCH89DIFF;
- fread_discard(fd, 2);
- wpt->altitude = fread_single(fd);
+ fread_discard(file_in, 2);
+ wpt->altitude = fread_single(file_in);
if (wpt->altitude == unknown_alt_gtm)
wpt->altitude = unknown_alt;
- fread_discard(fd, 2);
+ fread_discard(file_in, 2);
waypt_add(wpt);
}
/* Waypoint Styles */
if (wp_count) {
for (i = 0; i != ws_count; i++) {
- fread_discard(fd, 4);
- fread_string_discard(fd);
- fread_discard(fd, 24);
+ fread_discard(file_in, 4);
+ fread_string_discard(file_in);
+ fread_discard(file_in, 24);
}
}
/* Tracklogs */
for (i = 0; i != tr_count; i++) {
wpt = waypt_new();
- wpt->latitude = fread_double(fd);
- wpt->longitude = fread_double(fd);
+ wpt->latitude = fread_double(file_in);
+ wpt->longitude = fread_double(file_in);
convert_datum(&wpt->latitude, &wpt->longitude);
- wpt->creation_time = fread_long(fd);
+ wpt->creation_time = fread_long(file_in);
if (wpt->creation_time)
wpt->creation_time += EPOCH89DIFF;
- start_new = fread_byte(fd);
- wpt->altitude = fread_single(fd);
+ start_new = fread_byte(file_in);
+ wpt->altitude = fread_single(file_in);
if (wpt->altitude == unknown_alt_gtm)
wpt->altitude = unknown_alt;
if (start_new || !trk_head) {
/* Tracklog styles */
trk_head = first_trk_head;
for (i = 0; i != ts_count && i != real_tr_count; i++) {
- trk_head->rte_name = fread_string(fd);
- fread_discard(fd, 12);
+ trk_head->rte_name = fread_string(file_in);
+ fread_discard(file_in, 12);
trk_head = (route_head *)QUEUE_NEXT(&trk_head->Q);
}
/* Routes */
for (i = 0; i != rt_count; i++) {
wpt = waypt_new();
- wpt->latitude = fread_double(fd);
- wpt->longitude = fread_double(fd);
+ wpt->latitude = fread_double(file_in);
+ wpt->longitude = fread_double(file_in);
convert_datum(&wpt->latitude, &wpt->longitude);
- wpt->shortname = fread_fixedstring(fd, 10);
- wpt->description = fread_string(fd);
- route_name = fread_string(fd);
- icon = fread_integer(fd);
+ wpt->shortname = fread_fixedstring(file_in, 10);
+ wpt->description = fread_string(file_in);
+ route_name = fread_string(file_in);
+ icon = fread_integer(file_in);
if (icon < sizeof(icon_descr)/sizeof(char*))
wpt->icon_descr = icon_descr[icon];
- fread_discard(fd, 1);
- start_new = fread_byte(fd);
- fread_discard(fd, 6);
- wpt->altitude = fread_single(fd);
+ fread_discard(file_in, 1);
+ start_new = fread_byte(file_in);
+ fread_discard(file_in, 6);
+ wpt->altitude = fread_single(file_in);
if (wpt->altitude == unknown_alt_gtm)
wpt->altitude = unknown_alt;
- fread_discard(fd, 2);
+ fread_discard(file_in, 2);
if (start_new || !rte_head) {
rte_head = route_head_alloc();
static void write_waypt(const waypoint *wpt)
{
- fwrite_double(ofd, wpt->latitude);
- fwrite_double(ofd, wpt->longitude);
- fwrite_fixedstring(ofd, wpt->shortname, 10);
- fwrite_string(ofd, wpt->description);
- fwrite_integer(ofd, icon_from_descr(wpt->icon_descr));
- fwrite_byte(ofd, 3);
+ fwrite_double(file_out, wpt->latitude);
+ fwrite_double(file_out, wpt->longitude);
+ fwrite_fixedstring(file_out, wpt->shortname, 10);
+ fwrite_string(file_out, wpt->description);
+ fwrite_integer(file_out, icon_from_descr(wpt->icon_descr));
+ fwrite_byte(file_out, 3);
if (wpt->creation_time)
- fwrite_long(ofd, wpt->creation_time-EPOCH89DIFF);
+ fwrite_long(file_out, wpt->creation_time-EPOCH89DIFF);
else
- fwrite_long(ofd, 0);
- fwrite_integer(ofd, 0);
+ fwrite_long(file_out, 0);
+ fwrite_integer(file_out, 0);
if (wpt->altitude == unknown_alt)
- fwrite_single(ofd, unknown_alt_gtm);
+ fwrite_single(file_out, unknown_alt_gtm);
else
- fwrite_single(ofd, wpt->altitude);
- fwrite_integer(ofd, 0);
+ fwrite_single(file_out, wpt->altitude);
+ fwrite_integer(file_out, 0);
}
static void start_rte(const route_head *rte)
static void write_trk_waypt(const waypoint *wpt)
{
- fwrite_double(ofd, wpt->latitude);
- fwrite_double(ofd, wpt->longitude);
- fwrite_long(ofd, wpt->creation_time-EPOCH89DIFF);
- fwrite_byte(ofd, start_new);
+ fwrite_double(file_out, wpt->latitude);
+ fwrite_double(file_out, wpt->longitude);
+ fwrite_long(file_out, wpt->creation_time-EPOCH89DIFF);
+ fwrite_byte(file_out, start_new);
if (wpt->altitude == unknown_alt)
- fwrite_single(ofd, unknown_alt_gtm);
+ fwrite_single(file_out, unknown_alt_gtm);
else
- fwrite_single(ofd, wpt->altitude);
+ fwrite_single(file_out, wpt->altitude);
start_new = 0;
}
static void write_trk_style(const route_head *trk)
{
- fwrite_string(ofd, trk->rte_name);
- fwrite_byte(ofd, 1);
- fwrite_long(ofd, 0);
- fwrite_single(ofd, 0);
- fwrite_byte(ofd, 0);
- fwrite_integer(ofd, 0);
+ fwrite_string(file_out, trk->rte_name);
+ fwrite_byte(file_out, 1);
+ fwrite_long(file_out, 0);
+ fwrite_single(file_out, 0);
+ fwrite_byte(file_out, 0);
+ fwrite_integer(file_out, 0);
}
static void write_rte_waypt(const waypoint *wpt)
{
- fwrite_double(ofd, wpt->latitude);
- fwrite_double(ofd, wpt->longitude);
- fwrite_fixedstring(ofd, wpt->shortname, 10);
- fwrite_string(ofd, wpt->description);
- fwrite_string(ofd, rte_active->rte_name);
- fwrite_integer(ofd, icon_from_descr(wpt->icon_descr));
- fwrite_byte(ofd, 3);
- fwrite_byte(ofd, start_new);
- fwrite_long(ofd, 0);
- fwrite_integer(ofd, 0);
+ fwrite_double(file_out, wpt->latitude);
+ fwrite_double(file_out, wpt->longitude);
+ fwrite_fixedstring(file_out, wpt->shortname, 10);
+ fwrite_string(file_out, wpt->description);
+ fwrite_string(file_out, rte_active->rte_name);
+ fwrite_integer(file_out, icon_from_descr(wpt->icon_descr));
+ fwrite_byte(file_out, 3);
+ fwrite_byte(file_out, start_new);
+ fwrite_long(file_out, 0);
+ fwrite_integer(file_out, 0);
if (wpt->altitude == unknown_alt)
- fwrite_single(ofd, unknown_alt_gtm);
+ fwrite_single(file_out, unknown_alt_gtm);
else
- fwrite_single(ofd, wpt->altitude);
- fwrite_integer(ofd, 0);
+ fwrite_single(file_out, wpt->altitude);
+ fwrite_integer(file_out, 0);
start_new = 0;
}
{
waypt_disp_all(write_waypt);
if (waypt_count())
- fwrite(WAYPOINTSTYLES, 1, sizeof(WAYPOINTSTYLES)-1, ofd);
+ gbfwrite(WAYPOINTSTYLES, 1, sizeof(WAYPOINTSTYLES)-1, file_out);
track_disp_all(start_rte, NULL, write_trk_waypt);
track_disp_all(write_trk_style, NULL, NULL);
route_disp_all(start_rte, NULL, write_rte_waypt);
/*
Access Garmin Training Center (Forerunner/Foretracker/Edge) data files.
- Copyright (C) 2006 Robert Lipe, robertlipe@usa.net
+ Copyright (C) 2006, 2007 Robert Lipe, robertlipe@usa.net
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
gtc_write_xml(1, "<Trackpoint>\n");
if (wpt->creation_time) {
char time_string[100];
- xml_fill_in_time(time_string, wpt->creation_time,
+ xml_fill_in_time(time_string, wpt->creation_time, wpt->microseconds,
XML_LONG_TIME);
if (time_string[0]) {
gtc_write_xml(0, "<Time>%s</Time>\n",
if (gtc_least_time) {
char time_string[100];
- xml_fill_in_time(time_string, gtc_least_time, XML_LONG_TIME);
+ xml_fill_in_time(time_string, gtc_least_time, 0, XML_LONG_TIME);
gtc_write_xml(1, "<Lap StartTime=\"%s\">\n", time_string);
} else {
gtc_write_xml(1, "<Lap>\n");
void gl_trk_utc(const char *args, const char **unused)
{
- wpt_tmp->creation_time = xml_parse_time(args);
+ wpt_tmp->creation_time = xml_parse_time(args, NULL);
}
void gl_trk_lat(const char *args, const char **unused)
#include "defs.h"
#include "xmlgeneric.h"
-static FILE *ofd;
+static gbfile *ofd;
static waypoint *wpt_tmp;
static route_head *trk_head;
static void
hiketech_wr_init(const char *fname)
{
- ofd = xfopen(fname, "w", MYNAME);
+ ofd = gbfopen(fname, "w", MYNAME);
}
static void
hiketech_wr_deinit(void)
{
- fclose(ofd);
+ gbfclose(ofd);
}
static void
hiketech_trk_hdr(const route_head *rte)
{
- fprintf(ofd, "<trk>\n");
+ gbfprintf(ofd, "<trk>\n");
write_optional_xml_entity(ofd, " ", "ident", rte->rte_name);
}
static void
hiketech_trk_tlr(const route_head *rte)
{
- fprintf(ofd, "</trk>\n");
+ gbfprintf(ofd, "</trk>\n");
}
static void
{
char tbuf[80];
strftime(tbuf, sizeof(tbuf), "%Y-%m-%d %I:%M:%S", gmtime(&tm));
- fprintf(ofd, "%s<%s>%s</%s>\n",indent,tag,tbuf,tag);
+ gbfprintf(ofd, "%s<%s>%s</%s>\n",indent,tag,tbuf,tag);
}
static void
hiketech_trkpt_pr(const waypoint *waypointp)
{
- fprintf(ofd, " <pnt>\n");
+ gbfprintf(ofd, " <pnt>\n");
if (waypointp->creation_time) {
hiketech_print_utc(waypointp->creation_time, " ", "utc");
}
- fprintf(ofd, " <lat>%f</lat>\n", waypointp->latitude);
- fprintf(ofd, " <long>%f</long>\n", waypointp->longitude);
+ gbfprintf(ofd, " <lat>%f</lat>\n", waypointp->latitude);
+ gbfprintf(ofd, " <long>%f</long>\n", waypointp->longitude);
if (waypointp->altitude != unknown_alt) {
- fprintf(ofd, " <alt>%f</alt>\n",
+ gbfprintf(ofd, " <alt>%f</alt>\n",
waypointp->altitude);
}
- fprintf(ofd, " </pnt>\n");
+ gbfprintf(ofd, " </pnt>\n");
}
static void
hiketech_waypt_pr(const waypoint *wpt)
{
- fprintf(ofd, "<wpt>\n");
+ gbfprintf(ofd, "<wpt>\n");
write_xml_entity(ofd, "\t", "ident", wpt->shortname);
write_optional_xml_entity(ofd, "\t", "sym", wpt->icon_descr);
- fprintf(ofd, "\t<lat>%f</lat>\n", wpt->latitude);
- fprintf(ofd, "\t<long>%f</long>\n", wpt->longitude);
+ gbfprintf(ofd, "\t<lat>%f</lat>\n", wpt->latitude);
+ gbfprintf(ofd, "\t<long>%f</long>\n", wpt->longitude);
/*
* These probably aren't technicallyconstants, but it's all
* we can do for now.
*/
- fprintf(ofd, "\t<color>\n\t\t<lbl>FAFFB4</lbl>\n\t\t<obj>FF8000</obj>\n\t</color>\n");
- fprintf(ofd, "</wpt>\n");
+ gbfprintf(ofd, "\t<color>\n\t\t<lbl>FAFFB4</lbl>\n\t\t<obj>FF8000</obj>\n\t</color>\n");
+ gbfprintf(ofd, "</wpt>\n");
}
static void
hiketech_write(void)
{
- fprintf(ofd, "<hiketech version=\"1.2\" url=\"http://www.hiketech.com\">\n");
- fprintf(ofd, "<gpsdata>\n");
+ gbfprintf(ofd, "<hiketech version=\"1.2\" url=\"http://www.hiketech.com\">\n");
+ gbfprintf(ofd, "<gpsdata>\n");
track_disp_all(hiketech_trk_hdr, hiketech_trk_tlr, hiketech_trkpt_pr);
track_disp_all(NULL, NULL, hiketech_trkpt_pr);
waypt_disp_all(hiketech_waypt_pr);
- fprintf(ofd, "</gpsdata>\n");
- fprintf(ofd, "</hiketech>\n");
+ gbfprintf(ofd, "</gpsdata>\n");
+ gbfprintf(ofd, "</hiketech>\n");
}
static
#include "holux.h"
-static FILE *file_in;
+static gbfile *file_in;
static unsigned char *HxWFile;
static short_handle mkshort_handle;
static char fOutname[256];
static void rd_init(const char *fname)
{
- file_in = xfopen(fname, "rb", MYNAME);
+ file_in = gbfopen_le(fname, "rb", MYNAME);
}
static void rd_deinit(void)
{
- fclose(file_in);
+ gbfclose(file_in);
}
HxWpt = xcalloc(GM100_WPO_FILE_SIZE, 1);
/* read the wpo file to the data-array */
- iDataRead = fread( HxWpt, 1, GM100_WPO_FILE_SIZE, file_in );
+ iDataRead = gbfread( HxWpt, 1, GM100_WPO_FILE_SIZE, file_in );
if (iDataRead == 0)
{
#define ATTR_OBJECTNAME "OBJNAM"
#define ATTR_SHIPNAME "shpnam"
-static void readVersion4( FILE* pFile);
+static void readVersion4(gbfile* pFile);
static void getAttr(const char *data, const char *attr, char **val, char seperator);
-static FILE *fd;
-static FILE *ofd;
+static gbfile *fd;
+static gbfile *ofd;
static
arglist_t hsa_ndv_args[] = {
static void
hsa_ndv_rd_init(const char *fname)
{
- fd = xfopen(fname, "r", MYNAME);
+ fd = gbfopen(fname, "r", MYNAME);
psr = XML_ParserCreate(NULL);
if (!psr) {
hsa_ndv_read(void)
{
int len;
- char buf[MY_CBUF];
- memset(buf, 0, MY_CBUF);
+ char buf[MY_CBUF + 1];
- while ((len = fread(buf, 1, sizeof(buf), fd)))
+ while ((len = gbfread(buf, 1, sizeof(buf) - 1, fd)))
{
char *bad;
- buf[len-1] = 0;
+ buf[len] = '\0';
if (NULL != strstr(buf, "nver=1"))
{//its the older format, not xml
- fseek(fd, 0, SEEK_SET);
+ gbfseek(fd, 0, SEEK_SET);
readVersion4(fd);
break;
}
//grumble - have to remove \x1f's from sirius attributes
- while (NULL != (bad = strchr(buf, '\x1f')))
+ bad = buf;
+ while (NULL != (bad = strchr(bad, '\x1f')))
{
*bad = REPLACEMENT_SIRIUS_ATTR_SEPARATOR;
}
- if (!XML_Parse(psr, buf, len, feof(fd))) {
+ if (!XML_Parse(psr, buf, len, gbfeof(fd))) {
fatal(MYNAME ":Parse error at %d: %s\n",
(int) XML_GetCurrentLineNumber(psr),
XML_ErrorString(XML_GetErrorCode(psr)));
if ( cdatastr ) {
xfree(cdatastr);
}
- fclose(fd);
+ gbfclose(fd);
}
static void
hsa_ndv_wr_init(const char *fname)
{
- ofd = xfopen(fname, "w", MYNAME);
+ ofd = gbfopen(fname, "w", MYNAME);
}
static void
hsa_ndv_wr_deinit(void)
{
- fclose(ofd);
+ gbfclose(ofd);
}
static int legNum = 0;
hsa_ndv_waypt_pr(const waypoint *waypointp)
{
- fprintf(ofd, "\t\t<Object>\n");
+ gbfprintf(ofd, "\t\t<Object>\n");
- fprintf(ofd, "\t\t\t<ClassName>waypnt</ClassName>\n");
+ gbfprintf(ofd, "\t\t\t<ClassName>waypnt</ClassName>\n");
//ignore these for now, they are s57 specific
// fprintf(ofd, "\t\t\t<FeatureNameAgency>0</FeatureNameAgency>\n");
// fprintf(ofd, "\t\t\t<FeatureNameSubDiv>1</FeatureNameSubDiv>\n");
// fprintf(ofd, "\t\t\t<FeatureNameNumber>1089009023</FeatureNameNumber>\n");
- fprintf(ofd, "\t\t\t<Attr><![CDATA[attr=grpnam%s\x1ftrnrad50\x1fOBJNAM%s\x1flegnum%i\x1fusrmrk%s\x1fselect2\1f]]></Attr>\n", routeName, waypointp->shortname, legNum, waypointp->description);
- fprintf(ofd, "\t\t\t<LegAttr><![CDATA[attr=grpnam%s\x1f]]></LegAttr>\n", routeName);
- fprintf(ofd, "\t\t\t<NumberOfVertexs>1</NumberOfVertexs>\n");
- fprintf(ofd, "\t\t\t<Latitude>%lf</Latitude>\n", waypointp->latitude);
- fprintf(ofd, "\t\t\t<Longitude>%lf</Longitude>\n", waypointp->longitude);
+ gbfprintf(ofd, "\t\t\t<Attr><![CDATA[attr=grpnam%s\x1ftrnrad50\x1fOBJNAM%s\x1flegnum%i\x1fusrmrk%s\x1fselect2\1f]]></Attr>\n", routeName, waypointp->shortname, legNum, waypointp->description);
+ gbfprintf(ofd, "\t\t\t<LegAttr><![CDATA[attr=grpnam%s\x1f]]></LegAttr>\n", routeName);
+ gbfprintf(ofd, "\t\t\t<NumberOfVertexs>1</NumberOfVertexs>\n");
+ gbfprintf(ofd, "\t\t\t<Latitude>%lf</Latitude>\n", waypointp->latitude);
+ gbfprintf(ofd, "\t\t\t<Longitude>%lf</Longitude>\n", waypointp->longitude);
- fprintf(ofd, "\t\t</Object>\n");
+ gbfprintf(ofd, "\t\t</Object>\n");
legNum++;
}
static void
hsa_ndv_write(void)
{
- fprintf(ofd, "<?xml version=\"1.0\"?>\n");
- fprintf(ofd, "<Export>\n");
- fprintf(ofd, "\t<Route>\n");
- fprintf(ofd, "\t\t<Version>1.0000000</Version>\n");
- fprintf(ofd, "\t\t<Name>ROUTENAME</Name>\n"); /*TODO: used filename? */
- fprintf(ofd, "\t\t<LastModified>0</LastModified>\n");
+ gbfprintf(ofd, "<?xml version=\"1.0\"?>\n");
+ gbfprintf(ofd, "<Export>\n");
+ gbfprintf(ofd, "\t<Route>\n");
+ gbfprintf(ofd, "\t\t<Version>1.0000000</Version>\n");
+ gbfprintf(ofd, "\t\t<Name>ROUTENAME</Name>\n"); /*TODO: used filename? */
+ gbfprintf(ofd, "\t\t<LastModified>0</LastModified>\n");
waypt_disp_all(hsa_ndv_waypt_pr);
- fprintf(ofd, "\t</Route>\n");
+ gbfprintf(ofd, "\t</Route>\n");
//later we'll import past tracks and chart objects?
// fprintf(ofd, "\t<Chartwork>\n");
// fprintf(ofd, "\t</Chartwork>\n");
- fprintf(ofd, "</Export>\n");
+ gbfprintf(ofd, "</Export>\n");
}
ff_vecs_t HsaEndeavourNavigator_vecs = {
#define INVALID_TIME -1L
#define SOUNDARRAY_CHAR 'S'
-static int readRecord( FILE* pFile, const char* pRecName, char *recData);
-static int readPositionRecord( FILE* pFile, double* lat, double* lng, long* timeStamp);
+static int readRecord(gbfile* pFile, const char* pRecName, char *recData);
+static int readPositionRecord(gbfile* pFile, double* lat, double* lng, long* timeStamp);
-static void readVersion4( FILE* pFile)
+static void readVersion4(gbfile* pFile)
{
while( TRUE )
{
waypt_add(wpt_tmp);
}
- fclose(pFile);
+ gbfclose(pFile);
return;
}
// read a record to a file
-static int readRecord( FILE* pFile, const char* pRecName, char *recData)
+static int readRecord(gbfile* pFile, const char* pRecName, char *recData)
{
// get the rec name
int len;
for( len = 0; len < ED_REC_NAME_SIZE; len++)
{
- int c = fgetc( pFile);
+ int c = gbfgetc(pFile);
// if we hit EOF failed
if( c == EOF )
// get the rec data
for( len = 0; TRUE; len++)
{
- int c = fgetc( pFile);
+ int c = gbfgetc( pFile);
// if we hit EOF failed
if( c == EOF )
}
// read position
-static int readPositionRecord( FILE* pFile, double* lat, double* lng,
+static int readPositionRecord(gbfile* pFile, double* lat, double* lng,
long* timeStamp)
{
// read the lat record
logpart = xml_findfirst( curlog, "groundspeak:date" );
if ( logpart ) {
- logtime = xml_parse_time( logpart->cdata );
+ logtime = xml_parse_time( logpart->cdata, NULL);
logtm = localtime( &logtime );
if ( logtm ) {
fprintf( file_out,
case rec_fix:
// Date must appear in file before the first fix record
if (date < 1000000L) {
- fatal(MYNAME ": bad date %ld\n", date);
+ fatal(MYNAME ": bad date %d\n", (int)date);
}
// Create a track for pressure altitude waypoints
if (!pres_head) {
/*
- Support for IGN Rando track files,
+ Support for IGN Rando track files.
- Copyright (C) 2005 Olaf Klein, o.b.klein@gpsbabel.org
+ Copyright (C) 2005,2006 Olaf Klein, o.b.klein@gpsbabel.org
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#define MYNAME "IGNRando"
-static FILE *fout;
+static gbfile *fout;
static route_head *track;
static waypoint *wpt;
/* write support */
-static void
-ignr_fprintf(FILE *f, const char *fmt, ...)
-{
- char buff[256];
- char *temp = buff;
- va_list args;
- int i;
-
- va_start(args, fmt);
-
- i = vsnprintf(buff, sizeof(buff), fmt, args);
- if (i >= (int) sizeof(buff))
- {
- temp = xmalloc(i + 1);
- i = vsnprintf(temp, i + 1, fmt, args);
- }
- if (i < 0)
- {
- fatal(MYNAME ": error in vsnprintf.\n");
- }
- else if (i > 0)
- {
- char eol = temp[i - 1];
- if (eol == '\n') i--;
- fwrite(temp, 1, i, f);
- if (eol == '\n') fprintf(f, "\r\n");
- }
-
- if (temp != buff) xfree(temp);
- va_end(args);
-}
-
/* callbacks registered in ignr_vecs */
static void
ignr_rw_init(const char *fname)
{
- fout = xfopen(fname, "wb", MYNAME);
+ fout = gbfopen(fname, "w", MYNAME);
}
static void
ignr_rw_deinit(void)
{
- fclose(fout);
+ gbfclose(fout);
}
static void
if (track_num != track_index) return;
- ignr_fprintf(fout, "\t<INFORMATIONS>\n");
- ignr_fprintf(fout, "\t\t<NB_ETAPES>%d</NB_ETAPES>\n", track->rte_waypt_ct);
+ gbfprintf(fout, "\t<INFORMATIONS>\n");
+ gbfprintf(fout, "\t\t<NB_ETAPES>%d</NB_ETAPES>\n", track->rte_waypt_ct);
if (track->rte_desc != NULL)
- ignr_fprintf(fout, "\t\t<DESCRIPTION>%s</DESCRIPTION>\n", track->rte_desc);
- ignr_fprintf(fout, "\t</INFORMATIONS>\n");
+ gbfprintf(fout, "\t\t<DESCRIPTION>%s</DESCRIPTION>\n", track->rte_desc);
+ gbfprintf(fout, "\t</INFORMATIONS>\n");
}
static void
{
if (track_num != track_index) return;
- ignr_fprintf(fout, "\t<ETAPE>\n");
- ignr_fprintf(fout, "\t\t<POSITION>%3.6f,%3.6f</POSITION>\n", wpt->latitude, wpt->longitude);
+ gbfprintf(fout, "\t<ETAPE>\n");
+ gbfprintf(fout, "\t\t<POSITION>%3.6f,%3.6f</POSITION>\n", wpt->latitude, wpt->longitude);
if (wpt->altitude != unknown_alt)
- ignr_fprintf(fout, "\t\t<ALTITUDE>%3.6f</ALTITUDE>\n", wpt->altitude);
- ignr_fprintf(fout, "\t</ETAPE>\n");
+ gbfprintf(fout, "\t\t<ALTITUDE>%3.6f</ALTITUDE>\n", wpt->altitude);
+ gbfprintf(fout, "\t</ETAPE>\n");
}
static void
now = current_time();
tm = *localtime(&now);
- ignr_fprintf(fout, "<?xml version=\"1.0\" encoding=\"windows-1252\"?>\n");
- ignr_fprintf(fout, "<RANDONNEE>\n");
- ignr_fprintf(fout, "\t<ENTETE>\n");
- ignr_fprintf(fout, "\t\t<VERSION_XML>1.1</VERSION_XML>\n");
- ignr_fprintf(fout, "\t\t<VERSION_BASE>IHA03AA</VERSION_BASE>\n");
+ gbfprintf(fout, "<?xml version=\"1.0\" encoding=\"windows-1252\"?>\n");
+ gbfprintf(fout, "<RANDONNEE>\n");
+ gbfprintf(fout, "\t<ENTETE>\n");
+ gbfprintf(fout, "\t\t<VERSION_XML>1.1</VERSION_XML>\n");
+ gbfprintf(fout, "\t\t<VERSION_BASE>IHA03AA</VERSION_BASE>\n");
strftime(buff, sizeof(buff), "%d/%m/%Y", &tm);
- ignr_fprintf(fout, "\t\t<DATE>%s</DATE>\n", buff);
+ gbfprintf(fout, "\t\t<DATE>%s</DATE>\n", buff);
strftime(buff, sizeof(buff), "%H:%M:%S", &tm);
- ignr_fprintf(fout, "\t\t<HEURE>%s</HEURE>\n", buff);
+ gbfprintf(fout, "\t\t<HEURE>%s</HEURE>\n", buff);
- ignr_fprintf(fout, "\t</ENTETE>\n");
+ gbfprintf(fout, "\t</ENTETE>\n");
track_disp_all(ignr_write_track_hdr, ignr_write_track_trl, ignr_write_waypt);
- ignr_fprintf(fout, "</RANDONNEE>\n");
+ gbfprintf(fout, "</RANDONNEE>\n");
}
ff_vecs_t ignr_vecs = {
"IFIELD LAT_DECIMAL, \"\", \"%10.6f\"\n"
"IFIELD LON_DECIMAL, \"\", \"%10.6f\"\n"
"IFIELD ALT_METERS, \"\", \"%10.0f\"\n"
-"IFIELD GMT_TIME, \"\", \"%a %b %d %T %Y\"\n"
+"# Reports are that this format stores in local time, not GMT as \n"
+"# originally thought.\n"
+"# IFIELD GMT_TIME, \"\", \"%a %b %d %H:%M:%S %Y\"\n"
+"IFIELD LOCAL_TIME, \"\", \"%a %b %d %H:%M:%S %Y\"\n"
;
static char gpsman[] =
"# gpsbabel XCSV style file\n"
"# gpsman.c likes mkshort len = 8, whitespace = 0.\n"
;
+static char kompass_tk[] =
+"# gpsbabel XCSV style file\n"
+"#\n"
+"# Format: Kompass / Deutscher Alpenverein (DAV) Waypoints\n"
+"# Author: Olaf Klein\n"
+"# Date: 01/10/2007\n"
+"#\n"
+"# \n"
+"DESCRIPTION Kompass (DAV) Track (.tk)\n"
+"DATATYPE TRACK\n"
+"EXTENSION wp\n"
+"FIELD_DELIMITER COMMA\n"
+"RECORD_DELIMITER NEWLINE\n"
+"BADCHARS ,\"\n"
+"#\n"
+"# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:\n"
+"#\n"
+"IFIELD LAT_DECIMAL, \"\", \"%.7f\"\n"
+"IFIELD LON_DECIMAL, \"\", \"%.7f\"\n"
+;
+static char kompass_wp[] =
+"# gpsbabel XCSV style file\n"
+"#\n"
+"# Format: Kompass / Deutscher Alpenverein (DAV) Waypoints\n"
+"# Author: Olaf Klein\n"
+"# Date: 01/10/2007\n"
+"#\n"
+"# \n"
+"DESCRIPTION Kompass (DAV) Waypoints (.wp)\n"
+"DATATYPE WAYPOINT\n"
+"EXTENSION wp\n"
+"ENCODING UTF-8\n"
+"FIELD_DELIMITER SEMICOLON\n"
+"RECORD_DELIMITER CRNEWLINE\n"
+"BADCHARS ,\"\n"
+"#\n"
+"# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:\n"
+"#\n"
+"IFIELD SHORTNAME, \"\", \"%s\"\n"
+"IFIELD LON_DECIMAL, \"\", \"%.7f\"\n"
+"IFIELD LAT_DECIMAL, \"\", \"%.7f\"\n"
+"IFIELD ALT_METERS, \"\", \"%.0f\"\n"
+"IFIELD LOCAL_TIME,\"\",\"%d.%m.%Y %H:%M:%S\"\n"
+"IFIELD CONSTANT, \"Icons\\Wegpunkt grün.bmp\", \"%s\"\n"
+"IFIELD IGNORE, \"\", \"%s\"\n"
+"IFIELD CONSTANT, \"1\", \"%s\" # unknown\n"
+"IFIELD DESCRIPTION, \"\", \"%s\"\n"
+;
static char ktf2[] =
"# gpsbabel XCSV style file\n"
"#\n"
"IFIELD PATH_DISTANCE_KM, \"\", \"%f\"\n"
"IFIELD GEOCACHE_PLACER,\"\",\"%s\"\n"
"IFIELD YYYYMMDD_TIME,\"\",\"%ld\"\n"
+"IFIELD GEOCACHE_HINT, \"\", \"%s\"\n"
+"IFIELD GEOCACHE_LAST_FOUND, \"\", \"%d\"\n"
;
static char xmap2006[] =
"# gpsbabel XCSV style file\n"
"IFIELD IGNORE, \"\", \"%-.31s\"\n"
"IFIELD DESCRIPTION, \"\", \"%-.78s\"\n"
;
-style_vecs_t style_list[] = {{ "xmapwpt", xmapwpt } , { "xmap", xmap } , { "xmap2006", xmap2006 } , { "tabsep", tabsep } , { "sportsim", sportsim } , { "saplus", saplus } , { "s_and_t", s_and_t } , { "openoffice", openoffice } , { "nima", nima } , { "mxf", mxf } , { "mapconverter", mapconverter } , { "kwf2", kwf2 } , { "ktf2", ktf2 } , { "gpsman", gpsman } , { "gpsdrivetrack", gpsdrivetrack } , { "gpsdrive", gpsdrive } , { "geonet", geonet } , { "garmin_poi", garmin_poi } , { "garmin301", garmin301 } , { "fugawi", fugawi } , { "dna", dna } , { "custom", custom } , { "cup", cup } , { "csv", csv } , { "cambridge", cambridge } , { "arc", arc } , {0,0}};
-size_t nstyles = 26;
+style_vecs_t style_list[] = {{ "xmapwpt", xmapwpt } , { "xmap", xmap } , { "xmap2006", xmap2006 } , { "tabsep", tabsep } , { "sportsim", sportsim } , { "saplus", saplus } , { "s_and_t", s_and_t } , { "openoffice", openoffice } , { "nima", nima } , { "mxf", mxf } , { "mapconverter", mapconverter } , { "kwf2", kwf2 } , { "ktf2", ktf2 } , { "kompass_wp", kompass_wp } , { "kompass_tk", kompass_tk } , { "gpsman", gpsman } , { "gpsdrivetrack", gpsdrivetrack } , { "gpsdrive", gpsdrive } , { "geonet", geonet } , { "garmin_poi", garmin_poi } , { "garmin301", garmin301 } , { "fugawi", fugawi } , { "dna", dna } , { "custom", custom } , { "cup", cup } , { "csv", csv } , { "cambridge", cambridge } , { "arc", arc } , {0,0}};
+size_t nstyles = 28;
#else /* CSVFMTS_ENABLED */
style_vecs_t style_list[] = {{0,0}};
size_t nstyles = 0;
break;
}
}
+
+ GPS_Packet_Del(&tra);
+ GPS_Packet_Del(&rec);
return 0;
}
GPS_D301_Send(data,trk[i]);
len = 21;
break;
+ case pD304:
+ GPS_D304_Send(data,trk[i]);
+ len = 26;
+ break;
default:
GPS_Error("A301_Send: Unknown track protocol");
return PROTOCOL_ERROR;
return;
}
+void GPS_D304_Send(UC *data, GPS_PTrack trk)
+{
+ UC *p;
+
+ p = data;
+ GPS_A300_Encode(p,trk);
+ p = data+12;
+
+ GPS_Util_Put_Float(p,trk->alt);
+ p+=sizeof(float);
+
+ GPS_Util_Put_Float(p, (const float) 1.0e25);
+ p+=sizeof(float);
+
+ /* Not really clear if the members below makes sense to write or not */
+
+ *p = trk->heartrate;
+ p+=sizeof(char);
+
+ *p = trk->cadence;
+ p+=sizeof(char);
+
+ *p = trk->cadence > 0 ? trk->cadence : 0xff;
+ p+=sizeof(char);
+
+ *p = trk->tnew;
+
+ return;
+}
+
/* @func GPS_D310_Send **************************************************
GPS_PPacket tra;
GPS_PPacket rec;
-
if(!(tra = GPS_Packet_New()) || !(rec = GPS_Packet_New()))
return MEMORY_ERROR;
- if(!GPS_Packet_Read(*fd, &rec))
+ if(!GPS_Packet_Read(*fd, &rec)) {
+ GPS_Packet_Del(&rec);
+ GPS_Packet_Del(&tra);
return gps_errno;
+ }
- if(!GPS_Send_Ack(*fd, &tra, &rec))
+ if(!GPS_Send_Ack(*fd, &tra, &rec)) {
+ GPS_Packet_Del(&rec);
+ GPS_Packet_Del(&tra);
return gps_errno;
+ }
if (rec->type != LINK_ID[gps_link_type].Pid_Pvt_Data) {
+ GPS_Packet_Del(&rec);
+ GPS_Packet_Del(&tra);
return 0;
}
break;
default:
GPS_Error("A800_GET: Unknown pvt protocol");
+ GPS_Packet_Del(&rec);
+ GPS_Packet_Del(&tra);
return PROTOCOL_ERROR;
}
void GPS_D311_Get(GPS_PTrack *trk, UC *s);
void GPS_D300_Send(UC *data, GPS_PTrack trk);
void GPS_D301_Send(UC *data, GPS_PTrack trk);
+void GPS_D304_Send(UC *data, GPS_PTrack trk);
void GPS_D310_Send(UC *data, GPS_PTrack trk, int32 *len);
int32 GPS_A400_Get(const char *port, GPS_PWay **way);
if (udev) {
usb_release_interface(udev, 0);
usb_close(udev);
+ xfree(dh);
udev = NULL;
}
return 0;
s = msg + b;
*s++ = ':';
*s++ = ' ';
+ *s++ = '\0';
// FormatMessage( FORMAT_MESSAGE_FROM_SYSTEM, 0,
// GetLastError(), 0, s, sizeof(msg) - b - 2, 0 );
#include "../defs.h"
#if !HAVE_LIBUSB
-const char no_usb[] = "USB suport is not available in this build.\n";
+const char no_usb[] = "USB support is not available in this build.\n";
int
gusb_init(const char *portname)
usb_handle = CreateFile(pdd->DevicePath, GENERIC_READ|GENERIC_WRITE,
0, NULL, OPEN_EXISTING, 0, NULL );
if (usb_handle == INVALID_HANDLE_VALUE) {
+ if (GetLastError() == ERROR_ACCESS_DENIED) {
+ warning(
+"Exclusive access is denied. It's likely that something else such as\n"
+"Nroute, Spanner, Google Earth, or GPSGate already has control of the device\n");
+ }
GPS_Serial_Error("(usb) CreateFile on '%s' failed", pdd->DevicePath);
return NULL;
}
/*
Support for Google Earth & Keyhole "kml" format.
- Copyright (C) 2005, 2006 Robert Lipe, robertlipe@usa.net
+ Copyright (C) 2005, 2006, 2007 Robert Lipe, robertlipe@usa.net
Updates by Andrew Kirmse, akirmse at google.com
This program is free software; you can redistribute it and/or modify
#include "defs.h"
#include "xmlgeneric.h"
+#ifdef __WIN32__
+# include <windows.h>
+#endif
+
// options
static char *opt_deficon = NULL;
static char *opt_export_lines = NULL;
if (posnfilenametmp) {
#if __WIN32__
- /*
- * This is gross.
- * Windows does not offer an atomic rename; we must
- * explictly remove the destination here which exposes
- * a window where a polled reader of this file could find
- * the file to be missing. Windows readers will simply
- * have to retry on this case.
- */
- unlink(posnfilename);
+ MoveFileEx(posnfilenametmp, posnfilename,
+ MOVEFILE_REPLACE_EXISTING);
#endif
rename(posnfilenametmp, posnfilename);
xfree(posnfilenametmp);
{
char time_string[64];
if (waypointp->creation_time) {
- xml_fill_in_time(time_string, waypointp->creation_time, XML_LONG_TIME);
+ xml_fill_in_time(time_string, waypointp->creation_time, waypointp->microseconds, XML_LONG_TIME);
if (time_string[0]) {
kml_write_xml(0, "<TimeStamp><when>%s</when></TimeStamp>\n",
time_string);
if (td->start && td->end) {
char time_string[64];
kml_write_xml(1, "<TimeSpan>\n");
- xml_fill_in_time(time_string, td->start, XML_LONG_TIME);
+ xml_fill_in_time(time_string, td->start, 0, XML_LONG_TIME);
kml_write_xml(0, "<begin>%s</begin>\n", time_string);
- xml_fill_in_time(time_string, td->end, XML_LONG_TIME);
+ xml_fill_in_time(time_string, td->end, 0, XML_LONG_TIME);
kml_write_xml(0, "<end>%s</end>\n", time_string);
kml_write_xml(-1, "</TimeSpan>\n");
}
else
fputs(odesc, ofd);
- if (!global_opts.no_smart_icons &&
- waypointp->gc_data.diff && waypointp->gc_data.terr) {
+ /* It's tempting to conditionalize this on smart_names, but
+ * KML is so robust that it makes sense to just always do
+ * this for geocaches. (Plus the convenience of being able
+ * to do a drag-n-drop into Earth without extra option is a
+ * win.)
+ */
+ if (waypointp->gc_data.diff && waypointp->gc_data.terr) {
if (waypointp->gc_data.placer) {
char *p = xml_entitize(waypointp->gc_data.placer);
fprintf(ofd, "<![CDATA[<i> by %s</i>]]>", p);
kml_write_xml(-1, "</IconStyle>\n");
kml_write_xml(-1, "</Style>\n");
- } else if (!global_opts.no_smart_icons && waypointp->gc_data.diff && waypointp->gc_data.terr) {
+ } else if (waypointp->gc_data.diff && waypointp->gc_data.terr) {
char *is = kml_lookup_gc_icon(waypointp);
kml_write_xml(1, "<Style>\n");
kml_write_xml(1, "<IconStyle>\n");
trackdata = (!! strcmp("0", opt_trackdata));
kml_write_xml(0,"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
- kml_write_xml(1,"<kml xmlns=\"http://earth.google.com/kml/2.1\">\n");
- kml_write_xml(1,"<Document xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n");
+ kml_write_xml(1,"<kml xmlns=\"http://earth.google.com/kml/2.1\"\n"
+ "\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+ "\txsi:schemaLocation=\"http://earth.google.com/kml/2.1 \n"
+ "\thttp://code.google.com/apis/kml/schema/kml21.xsd\">\n"
+ );
+ kml_write_xml(1,"<Document>\n");
now = current_time();
strftime(import_time, sizeof(import_time), "%c", localtime(&now));
if (global_opts.debug_level >= 2)
{
- printf("LOWRANCE parse_waypt: creation time %ld\n",
- wpt_tmp->creation_time);
- printf("LOWRANCE parse_waypt: base_time %ld\n", base_time_secs);
- printf("LOWRANCE parse_waypt: waypt time %ld\n", waypt_time);
+ printf("LOWRANCE parse_waypt: creation time %d\n",
+ (int)wpt_tmp->creation_time);
+ printf("LOWRANCE parse_waypt: base_time %d\n", (int)base_time_secs);
+ printf("LOWRANCE parse_waypt: waypt time %d\n", (int)waypt_time);
}
/* Symbol ID */
if (global_opts.debug_level >= 2)
{
time_t wpt_time = Time;
- printf("LOWRANCE waypt_disp: base_time : %ld\n",base_time_secs);
- printf("LOWRANCE waypt_disp: creation time : %ld\n",wpt->creation_time);
- printf("LOWRANCE waypt_disp: waypt time : %ld\n",wpt_time);
- printf("LOWRANCE waypt_disp: waypt time (local): %s\n",ctime(&wpt_time));
+ printf("LOWRANCE waypt_disp: base_time : %d\n", (int)base_time_secs);
+ printf("LOWRANCE waypt_disp: creation time : %d\n", (int)wpt->creation_time);
+ printf("LOWRANCE waypt_disp: waypt time : %d\n", (int)wpt_time);
+ printf("LOWRANCE waypt_disp: waypt time (local): %s\n", ctime(&wpt_time));
}
my_fwrite4(&Time, file_out);
be_write16( &rec->crt_hour, tm->tm_hour );
be_write16( &rec->crt_mday, tm->tm_mday );
be_write16( &rec->crt_mon, tm->tm_mon + 1 );
- be_write16( &rec->crt_year, tm->tm_mon + 1900 );
+ be_write16( &rec->crt_year, tm->tm_year + 1900 );
be_write16( &rec->unknown, 0);
be_write16( &rec->xx_hour, tm->tm_hour );
be_write16( &rec->xx_mday, tm->tm_mday );
be_write16( &rec->xx_mon, tm->tm_mon + 1 );
- be_write16( &rec->xx_year, tm->tm_mon + 1900 );
+ be_write16( &rec->xx_year, tm->tm_year + 1900 );
be_write16( &rec->unknown2, 0);
}
}
+ /* If column zero isn't a dollar sign, it's not for us */
+ if (ibuf[0] != '$') {
+ fatal(MYNAME ": line doesn't start with '$'.\n");
+ }
+
+
isz = strlen(ibuf);
if (isz < 5) {
/* These tracks don't have names, so derive one
* from input filename.
*/
- const char *s = strrchr(curfname, GB_PATHSEP);
char *e;
- trk_head = route_head_alloc();
+ const char *s = get_filename(curfname);
- if (s) {
- s++; /* Skip path delim */
- } else {
- s = curfname;/* use name intact */
- }
+ trk_head = route_head_alloc();
/* Whack trailing extension if present. */
trk_head->rte_name = xstrdup(s);
{"deficon", &deficon, "Default icon name", NULL, ARGTYPE_STRING,
ARG_NOMINMAX },
{"maxcmts", &cmts, "Max number of comments to write (maxcmts=200)",
- NULL, ARGTYPE_INT, ARG_NOMINMAX },
- {"baud", &bs, "Numeric value of bitrate (baud=4800)", NULL,
+ "200", ARGTYPE_INT, ARG_NOMINMAX },
+ {"baud", &bs, "Numeric value of bitrate (baud=4800)", "4800",
ARGTYPE_INT, ARG_NOMINMAX },
{"noack", &noack, "Suppress use of handshaking in name of speed",
NULL, ARGTYPE_BOOL, ARG_NOMINMAX},
* make a copy of it, then lop off the file extension
*/
- curfname = strrchr(portname, GB_PATHSEP);
- if (curfname) {
- curfname++; /* skip over path delimiter */
- } else {
- curfname = portname;
- }
+ curfname = get_filename(portname);
/*
* I'd rather not derive behaviour from filenames but since
tm.tm_mday = dmy % 100;
waypt->creation_time = mkgmtime(&tm);
- waypt->centiseconds = fracsecs;
+ waypt->microseconds = CENTI_TO_MICRO(fracsecs);
if (latdir == 'S') latdeg = -latdeg;
waypt->latitude = ddmm2degrees(latdeg);
/* Explorist has a route name here */
if (explorist) {
- char rten[1024];
- int n2;
- sscanf(rtemsg + n, ",%[^,]%n", rten, &n2);
- n += n2;
- rte_name = xstrdup(rten);
+ char *ca, *ce;
+
+ ca = rtemsg + n;
+ is_fatal(*ca++ != ',', MYNAME ": Incorrectly formatted route line '%s'", rtemsg);
+
+ ce = strchr(ca, ',');
+ is_fatal(ce == NULL, MYNAME ": Incorrectly formatted route line '%s'", rtemsg);
+
+ if (ca == ce)
+ xasprintf(&rte_name, "Route%d", rtenum);
+ else
+ rte_name = xstrndup(ca, ce - ca);
+
+ n += ((ce - ca) + 1);
}
#endif
odesc = isrc ? isrc : "";
owpt = mag_cleanse(owpt);
- if (!global_opts.no_smart_icons &&
+ if (global_opts.smart_icons &&
waypointp->gc_data.diff && waypointp->gc_data.terr) {
sprintf(ofmtdesc, "%d/%d %s", waypointp->gc_data.diff,
waypointp->gc_data.terr, odesc);
tm->tm_sec;
date = tm->tm_mday * 10000 + tm->tm_mon * 100 +
tm->tm_year;
- fracsec = waypointp->centiseconds;
+ fracsec = MICRO_TO_CENTI(waypointp->microseconds);
}
}
if (!tm) {
printf( "\n" );
}
+static void
+print_extended_info(void)
+{
+ printf(
+
+#if !ZLIB_INHIBITED /* Note polarity inverted here */
+ "ZLIB_ENABLED "
+#endif
+
+#if FILTERS_ENABLED
+ "FILTERS_ENABLED "
+#endif
+
+#if CSVFMTS_ENABLED
+ "CSVFMTS_ENABLED "
+#endif
+
+#if PDBFMTS_ENABLED
+ "PDBFMTS_ENABLED "
+#endif
+
+#if SHAPELIB_ENABLED
+ "SHAPELIB_ENABLED "
+#endif
+#if HAVE_LIBEXPAT
+ "HAVE_LIBEXPAT "
+#if XML_UNICODE
+ "XML_UNICODE "
+#endif
+#endif
+
+#if defined CET_WANTED
+ "CET_ENABLED "
+#endif
+ "\n");
+}
+
int
main(int argc, char *argv[])
{
}
debug_mem_output( "\n" );
#endif
+
if (gpsbabel_time != 0) { /* within testo ? */
global_opts.inifile = inifile_init(NULL, MYNAME);
}
}
if (argv[argn][1] == 'V' ) {
- printf("\nGPSBabel Version %s\n\n", gpsbabel_version );
- exit(0);
+ printf("\nGPSBabel Version %s\n\n", gpsbabel_version );
+ if (argv[argn][2] == 'V') {
+ print_extended_info();
+ }
+ exit(0);
}
if (argv[argn][1] == '?' || argv[argn][1] == 'h') {
global_opts.masked_objective |= POSNDATAMASK;
break;
case 'N':
+#if 0
+/* This option is silently eaten for compatibilty. -N is now the
+ * default. If you want the old behaviour, -S allows you to individually
+ * turn them on. The -N option will be removed in 2008.
+ */
+
switch(argv[argn][2]) {
case 'i':
global_opts.no_smart_icons = 1;
global_opts.no_smart_icons = 1;
break;
}
+#endif
+ break;
+ case 'S':
+ switch(argv[argn][2]) {
+ case 'i':
+ global_opts.smart_icons = 1;
+ break;
+ case 'n':
+ global_opts.smart_names = 1;
+ break;
+ default:
+ global_opts.smart_icons = 1;
+ global_opts.smart_names = 1;
+ break;
+ }
break;
case 'x':
optarg = argv[argn][2]
while (1) {
posn_status status;
- waypoint *wpt = ivecs->position_ops.rd_position(&status);
+ waypoint *wpt;
+
status.request_terminate = 0;
+ wpt = ivecs->position_ops.rd_position(&status);
if (status.request_terminate) {
if (wpt) {
#include "mapsend.h"
#include "magellan.h"
-static FILE *mapsend_file_in;
-static FILE *mapsend_file_out;
+static gbfile *mapsend_file_in;
+static gbfile *mapsend_file_out;
static short_handle mkshort_handle;
static short_handle wpt_handle;
mapsend_rd_init(const char *fname)
{
mapsend_init_opts(1);
- mapsend_file_in = xfopen(fname, "rb", MYNAME);
+ mapsend_file_in = gbfopen_le(fname, "rb", MYNAME);
}
static void
mapsend_rd_deinit(void)
{
- fclose(mapsend_file_in);
-}
-
-static
-void
-my_fread8(void *ptr, FILE *stream)
-{
- unsigned char cbuf[8];
- size_t rv;
-
- rv = fread(cbuf, 8, 1, stream);
- le_read64(ptr, cbuf);
-
-}
-
-static
-void
-my_fwrite8(void *ptr, FILE *stream)
-{
- unsigned char cbuf[8];
-
- le_read64(cbuf, ptr);
- fwrite(cbuf, 8, 1, stream);
-}
-
-static
-void
-my_fread4(void *ptr, FILE *stream)
-{
- unsigned int *iptr = ptr;
- unsigned char cbuf[4];
- size_t rv;
-
- rv = fread(cbuf, 4, 1, stream);
- *iptr = le_read32(cbuf);
-}
-
-static
-size_t
-my_fwrite4(void *ptr, FILE *stream)
-{
- int i = le_read32(ptr);
- return fwrite(&i, 4, 1, stream);
+ gbfclose(mapsend_file_in);
}
static void
mapsend_wr_init(const char *fname)
{
mapsend_init_opts(0);
- mapsend_file_out = xfopen(fname, "wb", MYNAME);
+ mapsend_file_out = gbfopen(fname, "wb", MYNAME);
mkshort_handle = mkshort_new_handle();
wpt_handle = mkshort_new_handle();
static void
mapsend_wr_deinit(void)
{
- fclose(mapsend_file_out);
+ gbfclose(mapsend_file_out);
mkshort_del_handle(&mkshort_handle);
mkshort_del_handle(&wpt_handle);
}
mapsend_wpt_read(void)
{
char tbuf[256];
- char name[257];
- char comment[257];
- char *p;
int wpt_count, rte_count, rte_num;
- unsigned char scount;
int wpt_number;
char wpt_icon;
char wpt_status;
- double wpt_alt;
- double wpt_long;
- double wpt_lat;
waypoint *wpt_tmp;
route_head *rte_head;
- my_fread4(&wpt_count, mapsend_file_in);
+ wpt_count = gbfgetint32(mapsend_file_in);
while (wpt_count--) {
wpt_tmp = waypt_new();
- if (fread(&scount, sizeof(scount), 1, mapsend_file_in) < 1) {
- fatal(MYNAME ": out of data reading %d waypoints\n",
- wpt_count);
- }
- fread(tbuf, scount, 1, mapsend_file_in);
- p = strncpy(name, tbuf, scount);
- p[scount] = '\0';
-
- fread(&scount, sizeof(scount), 1, mapsend_file_in);
- fread(tbuf, scount, 1, mapsend_file_in);
- p = strncpy(comment, tbuf, scount);
- p[scount] = '\0';
-
- my_fread4(&wpt_number, mapsend_file_in);
- fread(&wpt_icon, sizeof(wpt_icon), 1, mapsend_file_in);
- fread(&wpt_status, sizeof(wpt_status), 1, mapsend_file_in);
- my_fread8(&wpt_alt, mapsend_file_in);
- my_fread8(&wpt_long, mapsend_file_in);
- my_fread8(&wpt_lat, mapsend_file_in);
-
- wpt_tmp->shortname = xstrdup(name);
- wpt_tmp->description = xstrdup(comment);
- wpt_tmp->altitude = wpt_alt;
- wpt_tmp->latitude = -wpt_lat;
- wpt_tmp->longitude = wpt_long;
+ wpt_tmp->shortname = gbfgetpstr(mapsend_file_in);
+ wpt_tmp->description = gbfgetpstr(mapsend_file_in);
+
+ wpt_number = gbfgetint32(mapsend_file_in);
+ wpt_icon = gbfgetc(mapsend_file_in);
+ wpt_status = gbfgetc(mapsend_file_in);
+
+ wpt_tmp->altitude = gbfgetdbl(mapsend_file_in);
+ wpt_tmp->longitude = gbfgetdbl(mapsend_file_in);
+ wpt_tmp->latitude = -gbfgetdbl(mapsend_file_in);
if (wpt_icon < 26)
sprintf(tbuf, "%c", wpt_icon + 'a');
}
/* now read the routes... */
- my_fread4(&rte_count, mapsend_file_in);
+ rte_count = gbfgetint32(mapsend_file_in);
while (rte_count--) {
rte_head = route_head_alloc();
route_add_head(rte_head);
/* route name */
- fread(&scount, sizeof(scount), 1, mapsend_file_in);
- fread(tbuf, scount, 1, mapsend_file_in);
- tbuf[scount] = '\0';
- rte_head->rte_name = xstrdup(tbuf);
+ rte_head->rte_name = gbfgetpstr(mapsend_file_in);
/* route # */
- my_fread4(&rte_num, mapsend_file_in);
+ rte_num = gbfgetint32(mapsend_file_in);
rte_head->rte_num = rte_num;
/* points this route */
- my_fread4(&wpt_count, mapsend_file_in);
+ wpt_count = gbfgetint32(mapsend_file_in);
while (wpt_count--) {
wpt_tmp = waypt_new();
/* waypoint name */
- fread(&scount, sizeof(scount), 1, mapsend_file_in);
- fread(tbuf, scount, 1, mapsend_file_in);
- tbuf[scount] = '\0';
-
- wpt_tmp->shortname = xstrdup(tbuf);
+ wpt_tmp->shortname = gbfgetpstr(mapsend_file_in);
/* waypoint # */
- my_fread4(&wpt_number, mapsend_file_in);
- my_fread8(&wpt_long, mapsend_file_in);
- my_fread8(&wpt_lat, mapsend_file_in);
- fread(&wpt_icon, sizeof(wpt_icon), 1, mapsend_file_in);
+ wpt_number = gbfgetint32(mapsend_file_in);
+ wpt_tmp->longitude = gbfgetdbl(mapsend_file_in);
+ wpt_tmp->latitude = -gbfgetdbl(mapsend_file_in);
- wpt_tmp->longitude = wpt_long;
- wpt_tmp->latitude = -wpt_lat;
+ gbfread(&wpt_icon, 1, sizeof(wpt_icon), mapsend_file_in);
if (wpt_icon < 26)
sprintf(tbuf, "%c", wpt_icon + 'a');
static void
mapsend_track_read(void)
{
- char *trk_name;
- unsigned char scount;
unsigned int trk_count;
- double wpt_long;
- double wpt_lat;
- double wpt_alt;
- int i = 0;
- float f = 0;
- int time;
int valid;
unsigned char centisecs;
route_head *track_head;
waypoint *wpt_tmp;
- fread(&scount, sizeof(scount), 1, mapsend_file_in);
- trk_name = xmalloc(scount + 1);
- fread(trk_name, scount, 1, mapsend_file_in);
- trk_name[scount] = '\0';
- my_fread4(&trk_count, mapsend_file_in);
-
track_head = route_head_alloc();
- track_head->rte_name = trk_name;
+ track_head->rte_name = gbfgetpstr(mapsend_file_in);
track_add_head(track_head);
+ trk_count = gbfgetuint32(mapsend_file_in);
+
while (trk_count--) {
- my_fread8(&wpt_long, mapsend_file_in);
- my_fread8(&wpt_lat, mapsend_file_in);
+ wpt_tmp = waypt_new();
+
+ wpt_tmp->longitude = gbfgetdbl(mapsend_file_in);
+ wpt_tmp->latitude = -gbfgetdbl(mapsend_file_in);
+
if (mapsend_infile_version < 36) { /* < version 4.0 */
- my_fread4(&i, mapsend_file_in);
- wpt_alt = i;
+ wpt_tmp->altitude = gbfgetint32(mapsend_file_in);
} else {
- my_fread4(&f, mapsend_file_in);
- wpt_alt = f;
+ wpt_tmp->altitude = gbfgetflt(mapsend_file_in);
}
- my_fread4(&time, mapsend_file_in);
- my_fread4(&valid, mapsend_file_in);
+ wpt_tmp->creation_time = gbfgetint32(mapsend_file_in);
+ valid = gbfgetint32(mapsend_file_in);
/* centiseconds only in >= version 3.0 */
if (mapsend_infile_version >= 34) {
- fread(¢isecs, 1, 1, mapsend_file_in);
+ gbfread(¢isecs, 1, 1, mapsend_file_in);
} else {
centisecs = 0;
}
-
- wpt_tmp = waypt_new();
- wpt_tmp->latitude = -wpt_lat;
- wpt_tmp->longitude = wpt_long;
- wpt_tmp->creation_time = time;
- wpt_tmp->centiseconds = centisecs;
- wpt_tmp->altitude = wpt_alt;
+ wpt_tmp->microseconds = CENTI_TO_MICRO(centisecs);
+
track_add_wpt(track_head, wpt_tmp);
}
}
mapsend_read(void)
{
mapsend_hdr hdr;
- int type;
+ int type, len;
char buf[3];
/*
* strings, each member has to be read in one at a time. Grrr.
*/
- fread(&hdr, sizeof(hdr), 1, mapsend_file_in);
+ len = gbfread(&hdr, 1, sizeof(hdr), mapsend_file_in);
+ is_fatal(len < sizeof(hdr), MYNAME ": No mapsend or empty file!");
+
type = le_read16(&hdr.ms_type);
strncpy(buf, hdr.ms_version, 2);
buf[2] = '\0';
static void
mapsend_waypt_pr(const waypoint *waypointp)
{
- int n;
unsigned char c;
double falt;
- double flong;
- double flat;
static int cnt = 0;
const char *iconp = NULL;
const char *sn = global_opts.synthesize_shortnames ?
tmp = mkshort(wpt_handle, sn);
- c = tmp ? strlen(tmp) : 0;
- fwrite(&c, 1, 1, mapsend_file_out);
- fwrite(tmp, c, 1, mapsend_file_out);
- if (tmp)
- xfree(tmp);
+ gbfputpstr(tmp, mapsend_file_out);
+ if (tmp) xfree(tmp);
tmp = waypointp->description;
if (tmp)
c = 0;
if (c > 30) c = 30;
- fwrite(&c, 1, 1, mapsend_file_out);
- fwrite(tmp, c, 1, mapsend_file_out);
+ gbfputc(c, mapsend_file_out);
+ gbfwrite(tmp, c, 1, mapsend_file_out);
/* #, icon, status */
- n = ++cnt;
- my_fwrite4(&n, mapsend_file_out);
+ gbfputint32(++cnt, mapsend_file_out);
if (waypointp->icon_descr) {
iconp = mag_find_token_from_descr(waypointp->icon_descr);
}
}
- fwrite(&c, 1, 1, mapsend_file_out);
- c = 1;
- fwrite(&c, 1, 1, mapsend_file_out);
+ gbfwrite(&c, 1, 1, mapsend_file_out);
+ gbfputc(1, mapsend_file_out);
falt = waypointp->altitude;
if (falt == unknown_alt)
falt = 0;
- my_fwrite8(&falt, mapsend_file_out);
+ gbfputdbl(falt, mapsend_file_out);
- flong = waypointp->longitude;
- my_fwrite8(&flong, mapsend_file_out);
- flat = -waypointp->latitude;
- my_fwrite8(&flat, mapsend_file_out);
+ gbfputdbl(waypointp->longitude, mapsend_file_out);
+ gbfputdbl(-waypointp->latitude, mapsend_file_out);
}
static void
mapsend_route_hdr(const route_head *rte)
{
- int i;
- unsigned char c;
char * rname;
/* route name -- mapsend really seems to want something here.. */
rname = xstrdup("Route");
else
rname = xstrdup(rte->rte_name);
-
- c = strlen(rname);
-
- fwrite(&c, 1, 1, mapsend_file_out);
- fwrite(rname, c, 1, mapsend_file_out);
+ gbfputpstr(rname, mapsend_file_out);
xfree(rname);
/* route # */
- i = rte->rte_num;
- my_fwrite4(&i, mapsend_file_out);
+ gbfputint32(rte->rte_num, mapsend_file_out);
- i = rte->rte_waypt_ct;
-
/* # of waypoints to follow... */
- my_fwrite4(&i, mapsend_file_out);
+ gbfputint32(rte->rte_waypt_ct, mapsend_file_out);
}
static void
{
unsigned char c;
const char *iconp;
- double dbl;
route_wp_count++;
/* waypoint name */
c = waypointp->shortname ? strlen(waypointp->shortname) : 0;
- fwrite(&c, 1, 1, mapsend_file_out);
- fwrite(waypointp->shortname, c, 1, mapsend_file_out);
+ gbfwrite(&c, 1, 1, mapsend_file_out);
+ gbfwrite(waypointp->shortname, c, 1, mapsend_file_out);
/* waypoint number */
- my_fwrite4(&route_wp_count, mapsend_file_out);
-
- dbl = waypointp->longitude;
- my_fwrite8(&dbl, mapsend_file_out);
+ gbfputint32(route_wp_count, mapsend_file_out);
- dbl = -waypointp->latitude;
- my_fwrite8(&dbl, mapsend_file_out);
+ gbfputdbl(waypointp->longitude, mapsend_file_out);
+ gbfputdbl(-waypointp->latitude, mapsend_file_out);
if (waypointp->icon_descr) {
iconp = mag_find_token_from_descr(waypointp->icon_descr);
} else {
c = 0;
}
- fwrite(&c, 1, 1, mapsend_file_out);
+ gbfwrite(&c, 1, 1, mapsend_file_out);
}
void mapsend_track_hdr(const route_head * trk)
char *verstring = "30";
queue *elem, *tmp;
char *tname;
- unsigned char c;
int i;
mapsend_hdr hdr = {13, "4D533334 MS", "30", ms_type_track, {0, 0, 0}};
hdr.ms_version[0] = verstring[0];
hdr.ms_version[1] = verstring[1];
- fwrite(&hdr, sizeof(hdr), 1, mapsend_file_out);
+ gbfwrite(&hdr, sizeof(hdr), 1, mapsend_file_out);
/* track name */
if (!trk->rte_name)
tname = xstrdup("Track");
else
tname = xstrdup(trk->rte_name);
+ gbfputpstr(tname, mapsend_file_out);
- c = strlen(tname);
-
- fwrite(&c, 1, 1, mapsend_file_out);
- fwrite(tname, c, 1, mapsend_file_out);
xfree(tname);
/* total nodes (waypoints) this track */
i++;
}
- my_fwrite4(&i, mapsend_file_out);
+ gbfputint32(i, mapsend_file_out);
}
void mapsend_track_disp(const waypoint * wpt)
{
unsigned char c;
- double dbl;
- int i;
int t;
- int f;
- int valid = 1;
static int last_time;
/*
}
/* x = longitude */
- dbl = wpt->longitude;
- my_fwrite8(&dbl, mapsend_file_out);
+ gbfputdbl(wpt->longitude, mapsend_file_out);
/* x = latitude */
- dbl = -wpt->latitude;
- my_fwrite8(&dbl, mapsend_file_out);
+ gbfputdbl(-wpt->latitude, mapsend_file_out);
/* altitude
* in V4.0+ this field is a float, it was previously an int
*/
if (trk_version < 40) {
- i = (int) wpt->altitude;
- my_fwrite4(&i, mapsend_file_out);
+ gbfputint32((int) wpt->altitude, mapsend_file_out);
} else {
- f = (float) wpt->altitude;
- my_fwrite4(&f, mapsend_file_out);
+ gbfputflt((float) wpt->altitude, mapsend_file_out);
}
/* time */
- my_fwrite4(&t, mapsend_file_out);
+ gbfputint32(t, mapsend_file_out);
last_time = t;
/* validity */
- my_fwrite4(&valid, mapsend_file_out);
+ gbfputint32(1, mapsend_file_out);
/* 0 centiseconds */
if (trk_version >= 30) {
- c = wpt->centiseconds;
- fwrite(&c, 1, 1, mapsend_file_out);
+ c = MICRO_TO_CENTI(wpt->microseconds);
+ gbfwrite(&c, 1, 1, mapsend_file_out);
}
}
if (global_opts.objective == trkdata) {
mapsend_track_write();
} else {
- fwrite(&hdr, sizeof(hdr), 1, mapsend_file_out);
+ gbfwrite(&hdr, sizeof(hdr), 1, mapsend_file_out);
if (global_opts.objective == wptdata) {
- my_fwrite4(&wpt_count, mapsend_file_out);
+ gbfputint32(wpt_count, mapsend_file_out);
waypt_disp_all(mapsend_waypt_pr);
} else
if (global_opts.objective == rtedata) {
/* # of points - all routes */
- n = route_waypt_count();
- my_fwrite4(&n, mapsend_file_out);
+ gbfputint32(route_waypt_count(), mapsend_file_out);
/* write points - all routes */
route_disp_all(mapsend_noop, mapsend_noop, mapsend_waypt_pr);
n = route_count();
- my_fwrite4(&n, mapsend_file_out);
+ gbfputint32(n, mapsend_file_out);
if (n)
route_disp_all(mapsend_route_hdr, mapsend_noop, mapsend_route_disp);
thisWaypoint->latitude = GPS_Math_Semi_To_Deg(lat);
thisWaypoint->longitude = GPS_Math_Semi_To_Deg(lon);
thisWaypoint->creation_time = le_read32(&dateTime);
- thisWaypoint->centiseconds = 0;
+ thisWaypoint->microseconds = 0;
thisWaypoint->altitude = mps_altitude;
thisWaypoint->depth = mps_depth;
track_add_wpt(track_head, thisWaypoint);
-/*\r
-Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd\r
-See the file COPYING for copying permission.\r
+/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd\r
+ See the file COPYING for copying permission.\r
*/\r
\r
#ifndef XmlParse_INCLUDED\r
#define XmlParse_INCLUDED 1\r
\r
+#ifdef __VMS\r
+/* 0 1 2 3 0 1 2 3\r
+ 1234567890123456789012345678901 1234567890123456789012345678901 */\r
+#define XML_SetProcessingInstructionHandler XML_SetProcessingInstrHandler\r
+#define XML_SetUnparsedEntityDeclHandler XML_SetUnparsedEntDeclHandler\r
+#define XML_SetStartNamespaceDeclHandler XML_SetStartNamespcDeclHandler\r
+#define XML_SetExternalEntityRefHandlerArg XML_SetExternalEntRefHandlerArg\r
+#endif\r
+\r
#include <stdlib.h>\r
\r
-#ifndef XMLPARSEAPI\r
-# ifdef __declspec\r
-# define XMLPARSEAPI __declspec(dllimport)\r
-# else\r
-# define XMLPARSEAPI /* nothing */\r
-# endif\r
-#endif /* not defined XMLPARSEAPI */\r
+#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__)\r
+#define XML_USE_MSC_EXTENSIONS 1\r
+#endif\r
+\r
+/* Expat tries very hard to make the API boundary very specifically\r
+ defined. There are two macros defined to control this boundary;\r
+ each of these can be defined before including this header to\r
+ achieve some different behavior, but doing so it not recommended or\r
+ tested frequently.\r
+\r
+ XMLCALL - The calling convention to use for all calls across the\r
+ "library boundary." This will default to cdecl, and\r
+ try really hard to tell the compiler that's what we\r
+ want.\r
+\r
+ XMLIMPORT - Whatever magic is needed to note that a function is\r
+ to be imported from a dynamically loaded library\r
+ (.dll, .so, or .sl, depending on your platform).\r
+\r
+ The XMLCALL macro was added in Expat 1.95.7. The only one which is\r
+ expected to be directly useful in client code is XMLCALL.\r
+\r
+ Note that on at least some Unix versions, the Expat library must be\r
+ compiled with the cdecl calling convention as the default since\r
+ system headers may assume the cdecl convention.\r
+*/\r
+#ifndef XMLCALL\r
+#if defined(XML_USE_MSC_EXTENSIONS)\r
+#define XMLCALL __cdecl\r
+#elif defined(__GNUC__)\r
+#define XMLCALL __attribute__((cdecl))\r
+#else\r
+/* For any platform which uses this definition and supports more than\r
+ one calling convention, we need to extend this definition to\r
+ declare the convention used on that platform, if it's possible to\r
+ do so.\r
+\r
+ If this is the case for your platform, please file a bug report\r
+ with information on how to identify your platform via the C\r
+ pre-processor and how to specify the same calling convention as the\r
+ platform's malloc() implementation.\r
+*/\r
+#define XMLCALL\r
+#endif\r
+#endif /* not defined XMLCALL */\r
+\r
+\r
+#if !defined(XML_STATIC) && !defined(XMLIMPORT)\r
+#ifndef XML_BUILDING_EXPAT\r
+/* using Expat from an application */\r
+\r
+#ifdef XML_USE_MSC_EXTENSIONS\r
+#define XMLIMPORT __declspec(dllimport)\r
+#endif\r
+\r
+#endif\r
+#endif /* not defined XML_STATIC */\r
+\r
+/* If we didn't define it above, define it away: */\r
+#ifndef XMLIMPORT\r
+#define XMLIMPORT\r
+#endif\r
+\r
+\r
+#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL\r
\r
#ifdef __cplusplus\r
extern "C" {\r
#endif\r
\r
-typedef void *XML_Parser;\r
+#ifdef XML_UNICODE_WCHAR_T\r
+#define XML_UNICODE\r
+#endif\r
+\r
+struct XML_ParserStruct;\r
+typedef struct XML_ParserStruct *XML_Parser;\r
\r
-/* Information is UTF-8 encoded. */\r
+#ifdef XML_UNICODE /* Information is UTF-16 encoded. */\r
+#ifdef XML_UNICODE_WCHAR_T\r
+typedef wchar_t XML_Char;\r
+typedef wchar_t XML_LChar;\r
+#else\r
+typedef unsigned short XML_Char;\r
+typedef char XML_LChar;\r
+#endif /* XML_UNICODE_WCHAR_T */\r
+#else /* Information is UTF-8 encoded. */\r
typedef char XML_Char;\r
typedef char XML_LChar;\r
+#endif /* XML_UNICODE */\r
+\r
+/* Should this be defined using stdbool.h when C99 is available? */\r
+typedef unsigned char XML_Bool;\r
+#define XML_TRUE ((XML_Bool) 1)\r
+#define XML_FALSE ((XML_Bool) 0)\r
+\r
+/* The XML_Status enum gives the possible return values for several\r
+ API functions. The preprocessor #defines are included so this\r
+ stanza can be added to code that still needs to support older\r
+ versions of Expat 1.95.x:\r
+\r
+ #ifndef XML_STATUS_OK\r
+ #define XML_STATUS_OK 1\r
+ #define XML_STATUS_ERROR 0\r
+ #endif\r
+\r
+ Otherwise, the #define hackery is quite ugly and would have been\r
+ dropped.\r
+*/\r
+enum XML_Status {\r
+ XML_STATUS_ERROR = 0,\r
+#define XML_STATUS_ERROR XML_STATUS_ERROR\r
+ XML_STATUS_OK = 1\r
+#define XML_STATUS_OK XML_STATUS_OK\r
+};\r
+\r
+enum XML_Error {\r
+ XML_ERROR_NONE,\r
+ XML_ERROR_NO_MEMORY,\r
+ XML_ERROR_SYNTAX,\r
+ XML_ERROR_NO_ELEMENTS,\r
+ XML_ERROR_INVALID_TOKEN,\r
+ XML_ERROR_UNCLOSED_TOKEN,\r
+ XML_ERROR_PARTIAL_CHAR,\r
+ XML_ERROR_TAG_MISMATCH,\r
+ XML_ERROR_DUPLICATE_ATTRIBUTE,\r
+ XML_ERROR_JUNK_AFTER_DOC_ELEMENT,\r
+ XML_ERROR_PARAM_ENTITY_REF,\r
+ XML_ERROR_UNDEFINED_ENTITY,\r
+ XML_ERROR_RECURSIVE_ENTITY_REF,\r
+ XML_ERROR_ASYNC_ENTITY,\r
+ XML_ERROR_BAD_CHAR_REF,\r
+ XML_ERROR_BINARY_ENTITY_REF,\r
+ XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,\r
+ XML_ERROR_MISPLACED_XML_PI,\r
+ XML_ERROR_UNKNOWN_ENCODING,\r
+ XML_ERROR_INCORRECT_ENCODING,\r
+ XML_ERROR_UNCLOSED_CDATA_SECTION,\r
+ XML_ERROR_EXTERNAL_ENTITY_HANDLING,\r
+ XML_ERROR_NOT_STANDALONE,\r
+ XML_ERROR_UNEXPECTED_STATE,\r
+ XML_ERROR_ENTITY_DECLARED_IN_PE,\r
+ XML_ERROR_FEATURE_REQUIRES_XML_DTD,\r
+ XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING,\r
+ XML_ERROR_UNBOUND_PREFIX\r
+};\r
\r
enum XML_Content_Type {\r
XML_CTYPE_EMPTY = 1,\r
typedef struct XML_cp XML_Content;\r
\r
struct XML_cp {\r
- enum XML_Content_Type type;\r
- enum XML_Content_Quant quant;\r
- const XML_Char * name;\r
- unsigned int numchildren;\r
- XML_Content * children;\r
+ enum XML_Content_Type type;\r
+ enum XML_Content_Quant quant;\r
+ XML_Char * name;\r
+ unsigned int numchildren;\r
+ XML_Content * children;\r
};\r
\r
\r
description of the model argument. It's the caller's responsibility\r
to free model when finished with it.\r
*/\r
+typedef void (XMLCALL *XML_ElementDeclHandler) (void *userData,\r
+ const XML_Char *name,\r
+ XML_Content *model);\r
\r
-typedef void (*XML_ElementDeclHandler) (void *userData,\r
- const XML_Char *name,\r
- XML_Content *model);\r
-\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetElementDeclHandler(XML_Parser parser,\r
- XML_ElementDeclHandler eldecl);\r
-\r
-/*\r
- The Attlist declaration handler is called for *each* attribute. So\r
- a single Attlist declaration with multiple attributes declared will\r
- generate multiple calls to this handler. The "default" parameter\r
- may be NULL in the case of the "#IMPLIED" or "#REQUIRED" keyword.\r
- The "isrequired" parameter will be true and the default value will\r
- be NULL in the case of "#REQUIRED". If "isrequired" is true and\r
- default is non-NULL, then this is a "#FIXED" default.\r
- */\r
-\r
-typedef void (*XML_AttlistDeclHandler) (void *userData,\r
- const XML_Char *elname,\r
- const XML_Char *attname,\r
- const XML_Char *att_type,\r
- const XML_Char *dflt,\r
- int isrequired);\r
-\r
-void XMLPARSEAPI\r
+ XML_ElementDeclHandler eldecl);\r
+\r
+/* The Attlist declaration handler is called for *each* attribute. So\r
+ a single Attlist declaration with multiple attributes declared will\r
+ generate multiple calls to this handler. The "default" parameter\r
+ may be NULL in the case of the "#IMPLIED" or "#REQUIRED"\r
+ keyword. The "isrequired" parameter will be true and the default\r
+ value will be NULL in the case of "#REQUIRED". If "isrequired" is\r
+ true and default is non-NULL, then this is a "#FIXED" default.\r
+*/\r
+typedef void (XMLCALL *XML_AttlistDeclHandler) (\r
+ void *userData,\r
+ const XML_Char *elname,\r
+ const XML_Char *attname,\r
+ const XML_Char *att_type,\r
+ const XML_Char *dflt,\r
+ int isrequired);\r
+\r
+XMLPARSEAPI(void)\r
XML_SetAttlistDeclHandler(XML_Parser parser,\r
- XML_AttlistDeclHandler attdecl);\r
-\r
-\r
- /* The XML declaration handler is called for *both* XML declarations and\r
- text declarations. The way to distinguish is that the version parameter\r
- will be null for text declarations. The encoding parameter may be null\r
- for XML declarations. The standalone parameter will be -1, 0, or 1\r
- indicating respectively that there was no standalone parameter in\r
- the declaration, that it was given as no, or that it was given as yes.\r
- */\r
-\r
-typedef void (*XML_XmlDeclHandler) (void *userData,\r
- const XML_Char *version,\r
- const XML_Char *encoding,\r
- int standalone);\r
+ XML_AttlistDeclHandler attdecl);\r
+\r
+/* The XML declaration handler is called for *both* XML declarations\r
+ and text declarations. The way to distinguish is that the version\r
+ parameter will be NULL for text declarations. The encoding\r
+ parameter may be NULL for XML declarations. The standalone\r
+ parameter will be -1, 0, or 1 indicating respectively that there\r
+ was no standalone parameter in the declaration, that it was given\r
+ as no, or that it was given as yes.\r
+*/\r
+typedef void (XMLCALL *XML_XmlDeclHandler) (void *userData,\r
+ const XML_Char *version,\r
+ const XML_Char *encoding,\r
+ int standalone);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetXmlDeclHandler(XML_Parser parser,\r
- XML_XmlDeclHandler xmldecl);\r
+ XML_XmlDeclHandler xmldecl);\r
\r
\r
typedef struct {\r
- void *(*malloc_fcn)(size_t size);\r
- void *(*realloc_fcn)(void *ptr, size_t size);\r
- void (*free_fcn)(void *ptr);\r
+ void *(XMLCALL *malloc_fcn)(size_t size);\r
+ void *(XMLCALL *realloc_fcn)(void *ptr, size_t size);\r
+ void (XMLCALL *free_fcn)(void *ptr);\r
} XML_Memory_Handling_Suite;\r
\r
-/* Constructs a new parser; encoding is the encoding specified by the external\r
-protocol or null if there is none specified. */\r
-\r
-XML_Parser XMLPARSEAPI\r
+/* Constructs a new parser; encoding is the encoding specified by the\r
+ external protocol or NULL if there is none specified.\r
+*/\r
+XMLPARSEAPI(XML_Parser)\r
XML_ParserCreate(const XML_Char *encoding);\r
\r
-/* Constructs a new parser and namespace processor. Element type names\r
-and attribute names that belong to a namespace will be expanded;\r
-unprefixed attribute names are never expanded; unprefixed element type\r
-names are expanded only if there is a default namespace. The expanded\r
-name is the concatenation of the namespace URI, the namespace separator character,\r
-and the local part of the name. If the namespace separator is '\0' then\r
-the namespace URI and the local part will be concatenated without any\r
-separator. When a namespace is not declared, the name and prefix will be\r
-passed through without expansion. */\r
-\r
-XML_Parser XMLPARSEAPI\r
+/* Constructs a new parser and namespace processor. Element type\r
+ names and attribute names that belong to a namespace will be\r
+ expanded; unprefixed attribute names are never expanded; unprefixed\r
+ element type names are expanded only if there is a default\r
+ namespace. The expanded name is the concatenation of the namespace\r
+ URI, the namespace separator character, and the local part of the\r
+ name. If the namespace separator is '\0' then the namespace URI\r
+ and the local part will be concatenated without any separator.\r
+ When a namespace is not declared, the name and prefix will be\r
+ passed through without expansion.\r
+*/\r
+XMLPARSEAPI(XML_Parser)\r
XML_ParserCreateNS(const XML_Char *encoding, XML_Char namespaceSeparator);\r
\r
\r
-/* Constructs a new parser using the memory management suit referred to\r
+/* Constructs a new parser using the memory management suite referred to\r
by memsuite. If memsuite is NULL, then use the standard library memory\r
suite. If namespaceSeparator is non-NULL it creates a parser with\r
namespace processing as described above. The character pointed at\r
All further memory operations used for the created parser will come from\r
the given suite.\r
*/\r
-\r
-XML_Parser XMLPARSEAPI\r
+XMLPARSEAPI(XML_Parser)\r
XML_ParserCreate_MM(const XML_Char *encoding,\r
- const XML_Memory_Handling_Suite *memsuite,\r
- const XML_Char *namespaceSeparator);\r
+ const XML_Memory_Handling_Suite *memsuite,\r
+ const XML_Char *namespaceSeparator);\r
\r
-/* atts is array of name/value pairs, terminated by 0;\r
- names and values are 0 terminated. */\r
+/* Prepare a parser object to be re-used. This is particularly\r
+ valuable when memory allocation overhead is disproportionatly high,\r
+ such as when a large number of small documnents need to be parsed.\r
+ All handlers are cleared from the parser, except for the\r
+ unknownEncodingHandler. The parser's external state is re-initialized\r
+ except for the values of ns and ns_triplets.\r
\r
-typedef void (*XML_StartElementHandler)(void *userData,\r
- const XML_Char *name,\r
- const XML_Char **atts);\r
+ Added in Expat 1.95.3.\r
+*/\r
+XMLPARSEAPI(XML_Bool)\r
+XML_ParserReset(XML_Parser parser, const XML_Char *encoding);\r
+\r
+/* atts is array of name/value pairs, terminated by 0;\r
+ names and values are 0 terminated.\r
+*/\r
+typedef void (XMLCALL *XML_StartElementHandler) (void *userData,\r
+ const XML_Char *name,\r
+ const XML_Char **atts);\r
\r
-typedef void (*XML_EndElementHandler)(void *userData,\r
- const XML_Char *name);\r
+typedef void (XMLCALL *XML_EndElementHandler) (void *userData,\r
+ const XML_Char *name);\r
\r
\r
/* s is not 0 terminated. */\r
-typedef void (*XML_CharacterDataHandler)(void *userData,\r
- const XML_Char *s,\r
- int len);\r
+typedef void (XMLCALL *XML_CharacterDataHandler) (void *userData,\r
+ const XML_Char *s,\r
+ int len);\r
\r
/* target and data are 0 terminated */\r
-typedef void (*XML_ProcessingInstructionHandler)(void *userData,\r
- const XML_Char *target,\r
- const XML_Char *data);\r
+typedef void (XMLCALL *XML_ProcessingInstructionHandler) (\r
+ void *userData,\r
+ const XML_Char *target,\r
+ const XML_Char *data);\r
\r
/* data is 0 terminated */\r
-typedef void (*XML_CommentHandler)(void *userData, const XML_Char *data);\r
-\r
-typedef void (*XML_StartCdataSectionHandler)(void *userData);\r
-typedef void (*XML_EndCdataSectionHandler)(void *userData);\r
-\r
-/* This is called for any characters in the XML document for\r
-which there is no applicable handler. This includes both\r
-characters that are part of markup which is of a kind that is\r
-not reported (comments, markup declarations), or characters\r
-that are part of a construct which could be reported but\r
-for which no handler has been supplied. The characters are passed\r
-exactly as they were in the XML document except that\r
-they will be encoded in UTF-8. Line boundaries are not normalized.\r
-Note that a byte order mark character is not passed to the default handler.\r
-There are no guarantees about how characters are divided between calls\r
-to the default handler: for example, a comment might be split between\r
-multiple calls. */\r
-\r
-typedef void (*XML_DefaultHandler)(void *userData,\r
- const XML_Char *s,\r
- int len);\r
+typedef void (XMLCALL *XML_CommentHandler) (void *userData,\r
+ const XML_Char *data);\r
+\r
+typedef void (XMLCALL *XML_StartCdataSectionHandler) (void *userData);\r
+typedef void (XMLCALL *XML_EndCdataSectionHandler) (void *userData);\r
+\r
+/* This is called for any characters in the XML document for which\r
+ there is no applicable handler. This includes both characters that\r
+ are part of markup which is of a kind that is not reported\r
+ (comments, markup declarations), or characters that are part of a\r
+ construct which could be reported but for which no handler has been\r
+ supplied. The characters are passed exactly as they were in the XML\r
+ document except that they will be encoded in UTF-8 or UTF-16.\r
+ Line boundaries are not normalized. Note that a byte order mark\r
+ character is not passed to the default handler. There are no\r
+ guarantees about how characters are divided between calls to the\r
+ default handler: for example, a comment might be split between\r
+ multiple calls.\r
+*/\r
+typedef void (XMLCALL *XML_DefaultHandler) (void *userData,\r
+ const XML_Char *s,\r
+ int len);\r
\r
/* This is called for the start of the DOCTYPE declaration, before\r
- any DTD or internal subset is parsed. */\r
-\r
-typedef void (*XML_StartDoctypeDeclHandler)(void *userData,\r
- const XML_Char *doctypeName,\r
- const XML_Char *sysid,\r
- const XML_Char *pubid,\r
- int has_internal_subset\r
- );\r
+ any DTD or internal subset is parsed.\r
+*/\r
+typedef void (XMLCALL *XML_StartDoctypeDeclHandler) (\r
+ void *userData,\r
+ const XML_Char *doctypeName,\r
+ const XML_Char *sysid,\r
+ const XML_Char *pubid,\r
+ int has_internal_subset);\r
\r
/* This is called for the start of the DOCTYPE declaration when the\r
-closing > is encountered, but after processing any external subset. */\r
-typedef void (*XML_EndDoctypeDeclHandler)(void *userData);\r
+ closing > is encountered, but after processing any external\r
+ subset.\r
+*/\r
+typedef void (XMLCALL *XML_EndDoctypeDeclHandler)(void *userData);\r
\r
/* This is called for entity declarations. The is_parameter_entity\r
argument will be non-zero if the entity is a parameter entity, zero\r
otherwise.\r
\r
For internal entities (<!ENTITY foo "bar">), value will\r
- be non-null and systemId, publicID, and notationName will be null.\r
- The value string is NOT null terminated; the length is provided in\r
+ be non-NULL and systemId, publicID, and notationName will be NULL.\r
+ The value string is NOT nul-terminated; the length is provided in\r
the value_length argument. Since it is legal to have zero-length\r
values, do not use this argument to test for internal entities.\r
\r
- For external entities, value will be null and systemId will be non-null.\r
- The publicId argument will be null unless a public identifier was\r
- provided. The notationName argument will have a non-null value only\r
- for unparsed entity declarations.\r
-*/\r
-\r
-typedef void (*XML_EntityDeclHandler) (void *userData,\r
- const XML_Char *entityName,\r
- int is_parameter_entity,\r
- const XML_Char *value,\r
- int value_length,\r
- const XML_Char *base,\r
- const XML_Char *systemId,\r
- const XML_Char *publicId,\r
- const XML_Char *notationName);\r
- \r
-void XMLPARSEAPI\r
+ For external entities, value will be NULL and systemId will be\r
+ non-NULL. The publicId argument will be NULL unless a public\r
+ identifier was provided. The notationName argument will have a\r
+ non-NULL value only for unparsed entity declarations.\r
+\r
+ Note that is_parameter_entity can't be changed to XML_Bool, since\r
+ that would break binary compatibility.\r
+*/\r
+typedef void (XMLCALL *XML_EntityDeclHandler) (\r
+ void *userData,\r
+ const XML_Char *entityName,\r
+ int is_parameter_entity,\r
+ const XML_Char *value,\r
+ int value_length,\r
+ const XML_Char *base,\r
+ const XML_Char *systemId,\r
+ const XML_Char *publicId,\r
+ const XML_Char *notationName);\r
+\r
+XMLPARSEAPI(void)\r
XML_SetEntityDeclHandler(XML_Parser parser,\r
- XML_EntityDeclHandler handler);\r
+ XML_EntityDeclHandler handler);\r
\r
/* OBSOLETE -- OBSOLETE -- OBSOLETE\r
This handler has been superceded by the EntityDeclHandler above.\r
It is provided here for backward compatibility.\r
-This is called for a declaration of an unparsed (NDATA)\r
-entity. The base argument is whatever was set by XML_SetBase.\r
-The entityName, systemId and notationName arguments will never be null.\r
-The other arguments may be. */\r
-\r
-typedef void (*XML_UnparsedEntityDeclHandler)(void *userData,\r
- const XML_Char *entityName,\r
- const XML_Char *base,\r
- const XML_Char *systemId,\r
- const XML_Char *publicId,\r
- const XML_Char *notationName);\r
-\r
-/* This is called for a declaration of notation.\r
-The base argument is whatever was set by XML_SetBase.\r
-The notationName will never be null. The other arguments can be. */\r
-\r
-typedef void (*XML_NotationDeclHandler)(void *userData,\r
- const XML_Char *notationName,\r
- const XML_Char *base,\r
- const XML_Char *systemId,\r
- const XML_Char *publicId);\r
+\r
+ This is called for a declaration of an unparsed (NDATA) entity.\r
+ The base argument is whatever was set by XML_SetBase. The\r
+ entityName, systemId and notationName arguments will never be\r
+ NULL. The other arguments may be.\r
+*/\r
+typedef void (XMLCALL *XML_UnparsedEntityDeclHandler) (\r
+ void *userData,\r
+ const XML_Char *entityName,\r
+ const XML_Char *base,\r
+ const XML_Char *systemId,\r
+ const XML_Char *publicId,\r
+ const XML_Char *notationName);\r
+\r
+/* This is called for a declaration of notation. The base argument is\r
+ whatever was set by XML_SetBase. The notationName will never be\r
+ NULL. The other arguments can be.\r
+*/\r
+typedef void (XMLCALL *XML_NotationDeclHandler) (\r
+ void *userData,\r
+ const XML_Char *notationName,\r
+ const XML_Char *base,\r
+ const XML_Char *systemId,\r
+ const XML_Char *publicId);\r
\r
/* When namespace processing is enabled, these are called once for\r
-each namespace declaration. The call to the start and end element\r
-handlers occur between the calls to the start and end namespace\r
-declaration handlers. For an xmlns attribute, prefix will be null.\r
-For an xmlns="" attribute, uri will be null. */\r
-\r
-typedef void (*XML_StartNamespaceDeclHandler)(void *userData,\r
- const XML_Char *prefix,\r
- const XML_Char *uri);\r
-\r
-typedef void (*XML_EndNamespaceDeclHandler)(void *userData,\r
- const XML_Char *prefix);\r
-\r
-/* This is called if the document is not standalone (it has an\r
-external subset or a reference to a parameter entity, but does not\r
-have standalone="yes"). If this handler returns 0, then processing\r
-will not continue, and the parser will return a\r
-XML_ERROR_NOT_STANDALONE error. */\r
-\r
-typedef int (*XML_NotStandaloneHandler)(void *userData);\r
-\r
-/* This is called for a reference to an external parsed general entity.\r
-The referenced entity is not automatically parsed.\r
-The application can parse it immediately or later using\r
-XML_ExternalEntityParserCreate.\r
-The parser argument is the parser parsing the entity containing the reference;\r
-it can be passed as the parser argument to XML_ExternalEntityParserCreate.\r
-The systemId argument is the system identifier as specified in the entity declaration;\r
-it will not be null.\r
-The base argument is the system identifier that should be used as the base for\r
-resolving systemId if systemId was relative; this is set by XML_SetBase;\r
-it may be null.\r
-The publicId argument is the public identifier as specified in the entity declaration,\r
-or null if none was specified; the whitespace in the public identifier\r
-will have been normalized as required by the XML spec.\r
-The context argument specifies the parsing context in the format\r
-expected by the context argument to\r
-XML_ExternalEntityParserCreate; context is valid only until the handler\r
-returns, so if the referenced entity is to be parsed later, it must be copied.\r
-The handler should return 0 if processing should not continue because of\r
-a fatal error in the handling of the external entity.\r
-In this case the calling parser will return an XML_ERROR_EXTERNAL_ENTITY_HANDLING\r
-error.\r
-Note that unlike other handlers the first argument is the parser, not userData. */\r
-\r
-typedef int (*XML_ExternalEntityRefHandler)(XML_Parser parser,\r
- const XML_Char *context,\r
- const XML_Char *base,\r
- const XML_Char *systemId,\r
- const XML_Char *publicId);\r
-\r
-/* This structure is filled in by the XML_UnknownEncodingHandler\r
-to provide information to the parser about encodings that are unknown\r
-to the parser.\r
-The map[b] member gives information about byte sequences\r
-whose first byte is b.\r
-If map[b] is c where c is >= 0, then b by itself encodes the Unicode scalar value c.\r
-If map[b] is -1, then the byte sequence is malformed.\r
-If map[b] is -n, where n >= 2, then b is the first byte of an n-byte\r
-sequence that encodes a single Unicode scalar value.\r
-The data member will be passed as the first argument to the convert function.\r
-The convert function is used to convert multibyte sequences;\r
-s will point to a n-byte sequence where map[(unsigned char)*s] == -n.\r
-The convert function must return the Unicode scalar value\r
-represented by this byte sequence or -1 if the byte sequence is malformed.\r
-The convert function may be null if the encoding is a single-byte encoding,\r
-that is if map[b] >= -1 for all bytes b.\r
-When the parser is finished with the encoding, then if release is not null,\r
-it will call release passing it the data member;\r
-once release has been called, the convert function will not be called again.\r
-\r
-Expat places certain restrictions on the encodings that are supported\r
-using this mechanism.\r
-\r
-1. Every ASCII character that can appear in a well-formed XML document,\r
-other than the characters\r
-\r
- $@\^`{}~\r
-\r
-must be represented by a single byte, and that byte must be the\r
-same byte that represents that character in ASCII.\r
-\r
-2. No character may require more than 4 bytes to encode.\r
-\r
-3. All characters encoded must have Unicode scalar values <= 0xFFFF,\r
-(ie characters that would be encoded by surrogates in UTF-16\r
-are not allowed). Note that this restriction doesn't apply to\r
-the built-in support for UTF-8 and UTF-16.\r
-\r
-4. No Unicode character may be encoded by more than one distinct sequence\r
-of bytes. */\r
+ each namespace declaration. The call to the start and end element\r
+ handlers occur between the calls to the start and end namespace\r
+ declaration handlers. For an xmlns attribute, prefix will be\r
+ NULL. For an xmlns="" attribute, uri will be NULL.\r
+*/\r
+typedef void (XMLCALL *XML_StartNamespaceDeclHandler) (\r
+ void *userData,\r
+ const XML_Char *prefix,\r
+ const XML_Char *uri);\r
+\r
+typedef void (XMLCALL *XML_EndNamespaceDeclHandler) (\r
+ void *userData,\r
+ const XML_Char *prefix);\r
+\r
+/* This is called if the document is not standalone, that is, it has an\r
+ external subset or a reference to a parameter entity, but does not\r
+ have standalone="yes". If this handler returns XML_STATUS_ERROR,\r
+ then processing will not continue, and the parser will return a\r
+ XML_ERROR_NOT_STANDALONE error.\r
+ If parameter entity parsing is enabled, then in addition to the\r
+ conditions above this handler will only be called if the referenced\r
+ entity was actually read.\r
+*/\r
+typedef int (XMLCALL *XML_NotStandaloneHandler) (void *userData);\r
+\r
+/* This is called for a reference to an external parsed general\r
+ entity. The referenced entity is not automatically parsed. The\r
+ application can parse it immediately or later using\r
+ XML_ExternalEntityParserCreate.\r
+\r
+ The parser argument is the parser parsing the entity containing the\r
+ reference; it can be passed as the parser argument to\r
+ XML_ExternalEntityParserCreate. The systemId argument is the\r
+ system identifier as specified in the entity declaration; it will\r
+ not be NULL.\r
+\r
+ The base argument is the system identifier that should be used as\r
+ the base for resolving systemId if systemId was relative; this is\r
+ set by XML_SetBase; it may be NULL.\r
+\r
+ The publicId argument is the public identifier as specified in the\r
+ entity declaration, or NULL if none was specified; the whitespace\r
+ in the public identifier will have been normalized as required by\r
+ the XML spec.\r
+\r
+ The context argument specifies the parsing context in the format\r
+ expected by the context argument to XML_ExternalEntityParserCreate;\r
+ context is valid only until the handler returns, so if the\r
+ referenced entity is to be parsed later, it must be copied.\r
+ context is NULL only when the entity is a parameter entity.\r
+\r
+ The handler should return XML_STATUS_ERROR if processing should not\r
+ continue because of a fatal error in the handling of the external\r
+ entity. In this case the calling parser will return an\r
+ XML_ERROR_EXTERNAL_ENTITY_HANDLING error.\r
+\r
+ Note that unlike other handlers the first argument is the parser,\r
+ not userData.\r
+*/\r
+typedef int (XMLCALL *XML_ExternalEntityRefHandler) (\r
+ XML_Parser parser,\r
+ const XML_Char *context,\r
+ const XML_Char *base,\r
+ const XML_Char *systemId,\r
+ const XML_Char *publicId);\r
+\r
+/* This is called in two situations:\r
+ 1) An entity reference is encountered for which no declaration\r
+ has been read *and* this is not an error.\r
+ 2) An internal entity reference is read, but not expanded, because\r
+ XML_SetDefaultHandler has been called.\r
+ Note: skipped parameter entities in declarations and skipped general\r
+ entities in attribute values cannot be reported, because\r
+ the event would be out of sync with the reporting of the\r
+ declarations or attribute values\r
+*/\r
+typedef void (XMLCALL *XML_SkippedEntityHandler) (\r
+ void *userData,\r
+ const XML_Char *entityName,\r
+ int is_parameter_entity);\r
+\r
+/* This structure is filled in by the XML_UnknownEncodingHandler to\r
+ provide information to the parser about encodings that are unknown\r
+ to the parser.\r
+\r
+ The map[b] member gives information about byte sequences whose\r
+ first byte is b.\r
+\r
+ If map[b] is c where c is >= 0, then b by itself encodes the\r
+ Unicode scalar value c.\r
+\r
+ If map[b] is -1, then the byte sequence is malformed.\r
+\r
+ If map[b] is -n, where n >= 2, then b is the first byte of an\r
+ n-byte sequence that encodes a single Unicode scalar value.\r
\r
+ The data member will be passed as the first argument to the convert\r
+ function.\r
+\r
+ The convert function is used to convert multibyte sequences; s will\r
+ point to a n-byte sequence where map[(unsigned char)*s] == -n. The\r
+ convert function must return the Unicode scalar value represented\r
+ by this byte sequence or -1 if the byte sequence is malformed.\r
+\r
+ The convert function may be NULL if the encoding is a single-byte\r
+ encoding, that is if map[b] >= -1 for all bytes b.\r
+\r
+ When the parser is finished with the encoding, then if release is\r
+ not NULL, it will call release passing it the data member; once\r
+ release has been called, the convert function will not be called\r
+ again.\r
+\r
+ Expat places certain restrictions on the encodings that are supported\r
+ using this mechanism.\r
+\r
+ 1. Every ASCII character that can appear in a well-formed XML document,\r
+ other than the characters\r
+\r
+ $@\^`{}~\r
+\r
+ must be represented by a single byte, and that byte must be the\r
+ same byte that represents that character in ASCII.\r
+\r
+ 2. No character may require more than 4 bytes to encode.\r
+\r
+ 3. All characters encoded must have Unicode scalar values <=\r
+ 0xFFFF, (i.e., characters that would be encoded by surrogates in\r
+ UTF-16 are not allowed). Note that this restriction doesn't\r
+ apply to the built-in support for UTF-8 and UTF-16.\r
+\r
+ 4. No Unicode character may be encoded by more than one distinct\r
+ sequence of bytes.\r
+*/\r
typedef struct {\r
int map[256];\r
void *data;\r
- int (*convert)(void *data, const char *s);\r
- void (*release)(void *data);\r
+ int (XMLCALL *convert)(void *data, const char *s);\r
+ void (XMLCALL *release)(void *data);\r
} XML_Encoding;\r
\r
/* This is called for an encoding that is unknown to the parser.\r
-The encodingHandlerData argument is that which was passed as the\r
-second argument to XML_SetUnknownEncodingHandler.\r
-The name argument gives the name of the encoding as specified in\r
-the encoding declaration.\r
-If the callback can provide information about the encoding,\r
-it must fill in the XML_Encoding structure, and return 1.\r
-Otherwise it must return 0.\r
-If info does not describe a suitable encoding,\r
-then the parser will return an XML_UNKNOWN_ENCODING error. */\r
-\r
-typedef int (*XML_UnknownEncodingHandler)(void *encodingHandlerData,\r
- const XML_Char *name,\r
- XML_Encoding *info);\r
-\r
-void XMLPARSEAPI\r
+\r
+ The encodingHandlerData argument is that which was passed as the\r
+ second argument to XML_SetUnknownEncodingHandler.\r
+\r
+ The name argument gives the name of the encoding as specified in\r
+ the encoding declaration.\r
+\r
+ If the callback can provide information about the encoding, it must\r
+ fill in the XML_Encoding structure, and return XML_STATUS_OK.\r
+ Otherwise it must return XML_STATUS_ERROR.\r
+\r
+ If info does not describe a suitable encoding, then the parser will\r
+ return an XML_UNKNOWN_ENCODING error.\r
+*/\r
+typedef int (XMLCALL *XML_UnknownEncodingHandler) (\r
+ void *encodingHandlerData,\r
+ const XML_Char *name,\r
+ XML_Encoding *info);\r
+\r
+XMLPARSEAPI(void)\r
XML_SetElementHandler(XML_Parser parser,\r
- XML_StartElementHandler start,\r
- XML_EndElementHandler end);\r
+ XML_StartElementHandler start,\r
+ XML_EndElementHandler end);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetStartElementHandler(XML_Parser, XML_StartElementHandler);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetEndElementHandler(XML_Parser, XML_EndElementHandler);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetCharacterDataHandler(XML_Parser parser,\r
- XML_CharacterDataHandler handler);\r
+ XML_CharacterDataHandler handler);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetProcessingInstructionHandler(XML_Parser parser,\r
- XML_ProcessingInstructionHandler handler);\r
-void XMLPARSEAPI\r
+ XML_ProcessingInstructionHandler handler);\r
+XMLPARSEAPI(void)\r
XML_SetCommentHandler(XML_Parser parser,\r
XML_CommentHandler handler);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetCdataSectionHandler(XML_Parser parser,\r
- XML_StartCdataSectionHandler start,\r
- XML_EndCdataSectionHandler end);\r
+ XML_StartCdataSectionHandler start,\r
+ XML_EndCdataSectionHandler end);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetStartCdataSectionHandler(XML_Parser parser,\r
XML_StartCdataSectionHandler start);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetEndCdataSectionHandler(XML_Parser parser,\r
XML_EndCdataSectionHandler end);\r
\r
-/* This sets the default handler and also inhibits expansion of internal entities.\r
-The entity reference will be passed to the default handler. */\r
-\r
-void XMLPARSEAPI\r
+/* This sets the default handler and also inhibits expansion of\r
+ internal entities. These entity references will be passed to the\r
+ default handler, or to the skipped entity handler, if one is set.\r
+*/\r
+XMLPARSEAPI(void)\r
XML_SetDefaultHandler(XML_Parser parser,\r
- XML_DefaultHandler handler);\r
-\r
-/* This sets the default handler but does not inhibit expansion of internal entities.\r
-The entity reference will not be passed to the default handler. */\r
+ XML_DefaultHandler handler);\r
\r
-void XMLPARSEAPI\r
+/* This sets the default handler but does not inhibit expansion of\r
+ internal entities. The entity reference will not be passed to the\r
+ default handler.\r
+*/\r
+XMLPARSEAPI(void)\r
XML_SetDefaultHandlerExpand(XML_Parser parser,\r
- XML_DefaultHandler handler);\r
+ XML_DefaultHandler handler);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetDoctypeDeclHandler(XML_Parser parser,\r
- XML_StartDoctypeDeclHandler start,\r
- XML_EndDoctypeDeclHandler end);\r
+ XML_StartDoctypeDeclHandler start,\r
+ XML_EndDoctypeDeclHandler end);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetStartDoctypeDeclHandler(XML_Parser parser,\r
- XML_StartDoctypeDeclHandler start);\r
+ XML_StartDoctypeDeclHandler start);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetEndDoctypeDeclHandler(XML_Parser parser,\r
- XML_EndDoctypeDeclHandler end);\r
+ XML_EndDoctypeDeclHandler end);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetUnparsedEntityDeclHandler(XML_Parser parser,\r
- XML_UnparsedEntityDeclHandler handler);\r
+ XML_UnparsedEntityDeclHandler handler);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetNotationDeclHandler(XML_Parser parser,\r
- XML_NotationDeclHandler handler);\r
+ XML_NotationDeclHandler handler);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetNamespaceDeclHandler(XML_Parser parser,\r
- XML_StartNamespaceDeclHandler start,\r
- XML_EndNamespaceDeclHandler end);\r
+ XML_StartNamespaceDeclHandler start,\r
+ XML_EndNamespaceDeclHandler end);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetStartNamespaceDeclHandler(XML_Parser parser,\r
- XML_StartNamespaceDeclHandler start);\r
+ XML_StartNamespaceDeclHandler start);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetEndNamespaceDeclHandler(XML_Parser parser,\r
- XML_EndNamespaceDeclHandler end);\r
+ XML_EndNamespaceDeclHandler end);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetNotStandaloneHandler(XML_Parser parser,\r
- XML_NotStandaloneHandler handler);\r
+ XML_NotStandaloneHandler handler);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetExternalEntityRefHandler(XML_Parser parser,\r
- XML_ExternalEntityRefHandler handler);\r
+ XML_ExternalEntityRefHandler handler);\r
\r
-/* If a non-null value for arg is specified here, then it will be passed\r
-as the first argument to the external entity ref handler instead\r
-of the parser object. */\r
-void XMLPARSEAPI\r
+/* If a non-NULL value for arg is specified here, then it will be\r
+ passed as the first argument to the external entity ref handler\r
+ instead of the parser object.\r
+*/\r
+XMLPARSEAPI(void)\r
XML_SetExternalEntityRefHandlerArg(XML_Parser, void *arg);\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
+XML_SetSkippedEntityHandler(XML_Parser parser,\r
+ XML_SkippedEntityHandler handler);\r
+\r
+XMLPARSEAPI(void)\r
XML_SetUnknownEncodingHandler(XML_Parser parser,\r
- XML_UnknownEncodingHandler handler,\r
- void *encodingHandlerData);\r
+ XML_UnknownEncodingHandler handler,\r
+ void *encodingHandlerData);\r
\r
-/* This can be called within a handler for a start element, end element,\r
-processing instruction or character data. It causes the corresponding\r
-markup to be passed to the default handler. */\r
-void XMLPARSEAPI\r
+/* This can be called within a handler for a start element, end\r
+ element, processing instruction or character data. It causes the\r
+ corresponding markup to be passed to the default handler.\r
+*/\r
+XMLPARSEAPI(void)\r
XML_DefaultCurrent(XML_Parser parser);\r
\r
/* If do_nst is non-zero, and namespace processing is in effect, and\r
a name has a prefix (i.e. an explicit namespace qualifier) then\r
- that name is returned as a triplet in a single\r
- string separated by the separator character specified when the parser\r
- was created: URI + sep + local_name + sep + prefix.\r
+ that name is returned as a triplet in a single string separated by\r
+ the separator character specified when the parser was created: URI\r
+ + sep + local_name + sep + prefix.\r
\r
If do_nst is zero, then namespace information is returned in the\r
- default manner (URI + sep + local_name) whether or not the names\r
+ default manner (URI + sep + local_name) whether or not the name\r
has a prefix.\r
+\r
+ Note: Calling XML_SetReturnNSTriplet after XML_Parse or\r
+ XML_ParseBuffer has no effect.\r
*/\r
\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetReturnNSTriplet(XML_Parser parser, int do_nst);\r
\r
/* This value is passed as the userData argument to callbacks. */\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_SetUserData(XML_Parser parser, void *userData);\r
\r
-/* Returns the last value set by XML_SetUserData or null. */\r
+/* Returns the last value set by XML_SetUserData or NULL. */\r
#define XML_GetUserData(parser) (*(void **)(parser))\r
\r
-/* This is equivalent to supplying an encoding argument\r
-to XML_ParserCreate. It must not be called after XML_Parse\r
-or XML_ParseBuffer. */\r
-\r
-int XMLPARSEAPI\r
+/* This is equivalent to supplying an encoding argument to\r
+ XML_ParserCreate. On success XML_SetEncoding returns non-zero,\r
+ zero otherwise.\r
+ Note: Calling XML_SetEncoding after XML_Parse or XML_ParseBuffer\r
+ has no effect and returns XML_STATUS_ERROR.\r
+*/\r
+XMLPARSEAPI(enum XML_Status)\r
XML_SetEncoding(XML_Parser parser, const XML_Char *encoding);\r
\r
-/* If this function is called, then the parser will be passed\r
-as the first argument to callbacks instead of userData.\r
-The userData will still be accessible using XML_GetUserData. */\r
-\r
-void XMLPARSEAPI \r
+/* If this function is called, then the parser will be passed as the\r
+ first argument to callbacks instead of userData. The userData will\r
+ still be accessible using XML_GetUserData.\r
+*/\r
+XMLPARSEAPI(void)\r
XML_UseParserAsHandlerArg(XML_Parser parser);\r
\r
-/* Sets the base to be used for resolving relative URIs in system identifiers in\r
-declarations. Resolving relative identifiers is left to the application:\r
-this value will be passed through as the base argument to the\r
-XML_ExternalEntityRefHandler, XML_NotationDeclHandler\r
-and XML_UnparsedEntityDeclHandler. The base argument will be copied.\r
-Returns zero if out of memory, non-zero otherwise. */\r
+/* If useDTD == XML_TRUE is passed to this function, then the parser\r
+ will assume that there is an external subset, even if none is\r
+ specified in the document. In such a case the parser will call the\r
+ externalEntityRefHandler with a value of NULL for the systemId\r
+ argument (the publicId and context arguments will be NULL as well).\r
+ Note: If this function is called, then this must be done before\r
+ the first call to XML_Parse or XML_ParseBuffer, since it will\r
+ have no effect after that. Returns\r
+ XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING.\r
+ Note: If the document does not have a DOCTYPE declaration at all,\r
+ then startDoctypeDeclHandler and endDoctypeDeclHandler will not\r
+ be called, despite an external subset being parsed.\r
+ Note: If XML_DTD is not defined when Expat is compiled, returns\r
+ XML_ERROR_FEATURE_REQUIRES_XML_DTD.\r
+*/\r
+XMLPARSEAPI(enum XML_Error)\r
+XML_UseForeignDTD(XML_Parser parser, XML_Bool useDTD);\r
+\r
\r
-int XMLPARSEAPI\r
+/* Sets the base to be used for resolving relative URIs in system\r
+ identifiers in declarations. Resolving relative identifiers is\r
+ left to the application: this value will be passed through as the\r
+ base argument to the XML_ExternalEntityRefHandler,\r
+ XML_NotationDeclHandler and XML_UnparsedEntityDeclHandler. The base\r
+ argument will be copied. Returns XML_STATUS_ERROR if out of memory,\r
+ XML_STATUS_OK otherwise.\r
+*/\r
+XMLPARSEAPI(enum XML_Status)\r
XML_SetBase(XML_Parser parser, const XML_Char *base);\r
\r
-const XML_Char XMLPARSEAPI *\r
+XMLPARSEAPI(const XML_Char *)\r
XML_GetBase(XML_Parser parser);\r
\r
/* Returns the number of the attribute/value pairs passed in last call\r
-to the XML_StartElementHandler that were specified in the start-tag\r
-rather than defaulted. Each attribute/value pair counts as 2; thus\r
-this correspondds to an index into the atts array passed to the\r
-XML_StartElementHandler. */\r
-\r
-int XMLPARSEAPI\r
+ to the XML_StartElementHandler that were specified in the start-tag\r
+ rather than defaulted. Each attribute/value pair counts as 2; thus\r
+ this correspondds to an index into the atts array passed to the\r
+ XML_StartElementHandler.\r
+*/\r
+XMLPARSEAPI(int)\r
XML_GetSpecifiedAttributeCount(XML_Parser parser);\r
\r
/* Returns the index of the ID attribute passed in the last call to\r
-XML_StartElementHandler, or -1 if there is no ID attribute. Each\r
-attribute/value pair counts as 2; thus this correspondds to an index\r
-into the atts array passed to the XML_StartElementHandler. */\r
-\r
-int XMLPARSEAPI\r
+ XML_StartElementHandler, or -1 if there is no ID attribute. Each\r
+ attribute/value pair counts as 2; thus this correspondds to an\r
+ index into the atts array passed to the XML_StartElementHandler.\r
+*/\r
+XMLPARSEAPI(int)\r
XML_GetIdAttributeIndex(XML_Parser parser);\r
\r
-/* Parses some input. Returns 0 if a fatal error is detected.\r
-The last call to XML_Parse must have isFinal true;\r
-len may be zero for this call (or any other). */\r
-int XMLPARSEAPI\r
+/* Parses some input. Returns XML_STATUS_ERROR if a fatal error is\r
+ detected. The last call to XML_Parse must have isFinal true; len\r
+ may be zero for this call (or any other).\r
+\r
+ Though the return values for these functions has always been\r
+ described as a Boolean value, the implementation, at least for the\r
+ 1.95.x series, has always returned exactly one of the XML_Status\r
+ values.\r
+*/\r
+XMLPARSEAPI(enum XML_Status)\r
XML_Parse(XML_Parser parser, const char *s, int len, int isFinal);\r
\r
-void XMLPARSEAPI *\r
+XMLPARSEAPI(void *)\r
XML_GetBuffer(XML_Parser parser, int len);\r
\r
-int XMLPARSEAPI\r
+XMLPARSEAPI(enum XML_Status)\r
XML_ParseBuffer(XML_Parser parser, int len, int isFinal);\r
\r
-/* Creates an XML_Parser object that can parse an external general entity;\r
-context is a '\0'-terminated string specifying the parse context;\r
-encoding is a '\0'-terminated string giving the name of the externally specified encoding,\r
-or null if there is no externally specified encoding.\r
-The context string consists of a sequence of tokens separated by formfeeds (\f);\r
-a token consisting of a name specifies that the general entity of the name\r
-is open; a token of the form prefix=uri specifies the namespace for a particular\r
-prefix; a token of the form =uri specifies the default namespace.\r
-This can be called at any point after the first call to an ExternalEntityRefHandler\r
-so longer as the parser has not yet been freed.\r
-The new parser is completely independent and may safely be used in a separate thread.\r
-The handlers and userData are initialized from the parser argument.\r
-Returns 0 if out of memory. Otherwise returns a new XML_Parser object. */\r
-XML_Parser XMLPARSEAPI\r
+/* Creates an XML_Parser object that can parse an external general\r
+ entity; context is a '\0'-terminated string specifying the parse\r
+ context; encoding is a '\0'-terminated string giving the name of\r
+ the externally specified encoding, or NULL if there is no\r
+ externally specified encoding. The context string consists of a\r
+ sequence of tokens separated by formfeeds (\f); a token consisting\r
+ of a name specifies that the general entity of the name is open; a\r
+ token of the form prefix=uri specifies the namespace for a\r
+ particular prefix; a token of the form =uri specifies the default\r
+ namespace. This can be called at any point after the first call to\r
+ an ExternalEntityRefHandler so longer as the parser has not yet\r
+ been freed. The new parser is completely independent and may\r
+ safely be used in a separate thread. The handlers and userData are\r
+ initialized from the parser argument. Returns NULL if out of memory.\r
+ Otherwise returns a new XML_Parser object.\r
+*/\r
+XMLPARSEAPI(XML_Parser)\r
XML_ExternalEntityParserCreate(XML_Parser parser,\r
- const XML_Char *context,\r
- const XML_Char *encoding);\r
+ const XML_Char *context,\r
+ const XML_Char *encoding);\r
\r
enum XML_ParamEntityParsing {\r
XML_PARAM_ENTITY_PARSING_NEVER,\r
};\r
\r
/* Controls parsing of parameter entities (including the external DTD\r
-subset). If parsing of parameter entities is enabled, then references\r
-to external parameter entities (including the external DTD subset)\r
-will be passed to the handler set with\r
-XML_SetExternalEntityRefHandler. The context passed will be 0.\r
-Unlike external general entities, external parameter entities can only\r
-be parsed synchronously. If the external parameter entity is to be\r
-parsed, it must be parsed during the call to the external entity ref\r
-handler: the complete sequence of XML_ExternalEntityParserCreate,\r
-XML_Parse/XML_ParseBuffer and XML_ParserFree calls must be made during\r
-this call. After XML_ExternalEntityParserCreate has been called to\r
-create the parser for the external parameter entity (context must be 0\r
-for this call), it is illegal to make any calls on the old parser\r
-until XML_ParserFree has been called on the newly created parser. If\r
-the library has been compiled without support for parameter entity\r
-parsing (ie without XML_DTD being defined), then\r
-XML_SetParamEntityParsing will return 0 if parsing of parameter\r
-entities is requested; otherwise it will return non-zero. */\r
-\r
-int XMLPARSEAPI\r
+ subset). If parsing of parameter entities is enabled, then\r
+ references to external parameter entities (including the external\r
+ DTD subset) will be passed to the handler set with\r
+ XML_SetExternalEntityRefHandler. The context passed will be 0.\r
+\r
+ Unlike external general entities, external parameter entities can\r
+ only be parsed synchronously. If the external parameter entity is\r
+ to be parsed, it must be parsed during the call to the external\r
+ entity ref handler: the complete sequence of\r
+ XML_ExternalEntityParserCreate, XML_Parse/XML_ParseBuffer and\r
+ XML_ParserFree calls must be made during this call. After\r
+ XML_ExternalEntityParserCreate has been called to create the parser\r
+ for the external parameter entity (context must be 0 for this\r
+ call), it is illegal to make any calls on the old parser until\r
+ XML_ParserFree has been called on the newly created parser.\r
+ If the library has been compiled without support for parameter\r
+ entity parsing (ie without XML_DTD being defined), then\r
+ XML_SetParamEntityParsing will return 0 if parsing of parameter\r
+ entities is requested; otherwise it will return non-zero.\r
+ Note: If XML_SetParamEntityParsing is called after XML_Parse or\r
+ XML_ParseBuffer, then it has no effect and will always return 0.\r
+*/\r
+XMLPARSEAPI(int)\r
XML_SetParamEntityParsing(XML_Parser parser,\r
- enum XML_ParamEntityParsing parsing);\r
+ enum XML_ParamEntityParsing parsing);\r
\r
-enum XML_Error {\r
- XML_ERROR_NONE,\r
- XML_ERROR_NO_MEMORY,\r
- XML_ERROR_SYNTAX,\r
- XML_ERROR_NO_ELEMENTS,\r
- XML_ERROR_INVALID_TOKEN,\r
- XML_ERROR_UNCLOSED_TOKEN,\r
- XML_ERROR_PARTIAL_CHAR,\r
- XML_ERROR_TAG_MISMATCH,\r
- XML_ERROR_DUPLICATE_ATTRIBUTE,\r
- XML_ERROR_JUNK_AFTER_DOC_ELEMENT,\r
- XML_ERROR_PARAM_ENTITY_REF,\r
- XML_ERROR_UNDEFINED_ENTITY,\r
- XML_ERROR_RECURSIVE_ENTITY_REF,\r
- XML_ERROR_ASYNC_ENTITY,\r
- XML_ERROR_BAD_CHAR_REF,\r
- XML_ERROR_BINARY_ENTITY_REF,\r
- XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF,\r
- XML_ERROR_MISPLACED_XML_PI,\r
- XML_ERROR_UNKNOWN_ENCODING,\r
- XML_ERROR_INCORRECT_ENCODING,\r
- XML_ERROR_UNCLOSED_CDATA_SECTION,\r
- XML_ERROR_EXTERNAL_ENTITY_HANDLING,\r
- XML_ERROR_NOT_STANDALONE,\r
- XML_ERROR_UNEXPECTED_STATE\r
-};\r
-\r
-/* If XML_Parse or XML_ParseBuffer have returned 0, then XML_GetErrorCode\r
-returns information about the error. */\r
-\r
-enum XML_Error XMLPARSEAPI\r
+/* If XML_Parse or XML_ParseBuffer have returned XML_STATUS_ERROR, then\r
+ XML_GetErrorCode returns information about the error.\r
+*/\r
+XMLPARSEAPI(enum XML_Error)\r
XML_GetErrorCode(XML_Parser parser);\r
\r
-/* These functions return information about the current parse location.\r
-They may be called when XML_Parse or XML_ParseBuffer return 0;\r
-in this case the location is the location of the character at which\r
-the error was detected.\r
-They may also be called from any other callback called to report\r
-some parse event; in this the location is the location of the first\r
-of the sequence of characters that generated the event. */\r
-\r
-int XMLPARSEAPI XML_GetCurrentLineNumber(XML_Parser parser);\r
-int XMLPARSEAPI XML_GetCurrentColumnNumber(XML_Parser parser);\r
-long XMLPARSEAPI XML_GetCurrentByteIndex(XML_Parser parser);\r
+/* These functions return information about the current parse\r
+ location. They may be called from any callback called to report\r
+ some parse event; in this case the location is the location of the\r
+ first of the sequence of characters that generated the event. When\r
+ called from callbacks generated by declarations in the document\r
+ prologue, the location identified isn't as neatly defined, but will\r
+ be within the relevant markup. When called outside of the callback\r
+ functions, the position indicated will be just past the last parse\r
+ event (regardless of whether there was an associated callback).\r
+ \r
+ They may also be called after returning from a call to XML_Parse\r
+ or XML_ParseBuffer. If the return value is XML_STATUS_ERROR then\r
+ the location is the location of the character at which the error\r
+ was detected; otherwise the location is the location of the last\r
+ parse event, as described above.\r
+*/\r
+XMLPARSEAPI(int) XML_GetCurrentLineNumber(XML_Parser parser);\r
+XMLPARSEAPI(int) XML_GetCurrentColumnNumber(XML_Parser parser);\r
+XMLPARSEAPI(long) XML_GetCurrentByteIndex(XML_Parser parser);\r
\r
/* Return the number of bytes in the current event.\r
-Returns 0 if the event is in an internal entity. */\r
-\r
-int XMLPARSEAPI\r
+ Returns 0 if the event is in an internal entity.\r
+*/\r
+XMLPARSEAPI(int)\r
XML_GetCurrentByteCount(XML_Parser parser);\r
\r
/* If XML_CONTEXT_BYTES is defined, returns the input buffer, sets\r
the integer pointed to by offset to the offset within this buffer\r
of the current parse position, and sets the integer pointed to by size\r
to the size of this buffer (the number of input bytes). Otherwise\r
- returns a null pointer. Also returns a null pointer if a parse isn't active.\r
+ returns a NULL pointer. Also returns a NULL pointer if a parse isn't\r
+ active.\r
\r
NOTE: The character pointer returned should not be used outside\r
- the handler that makes the call. */\r
-\r
-const char XMLPARSEAPI *\r
+ the handler that makes the call.\r
+*/\r
+XMLPARSEAPI(const char *)\r
XML_GetInputContext(XML_Parser parser,\r
- int *offset,\r
- int *size);\r
+ int *offset,\r
+ int *size);\r
\r
/* For backwards compatibility with previous versions. */\r
-#define XML_GetErrorLineNumber XML_GetCurrentLineNumber\r
+#define XML_GetErrorLineNumber XML_GetCurrentLineNumber\r
#define XML_GetErrorColumnNumber XML_GetCurrentColumnNumber\r
-#define XML_GetErrorByteIndex XML_GetCurrentByteIndex\r
+#define XML_GetErrorByteIndex XML_GetCurrentByteIndex\r
+\r
+/* Frees the content model passed to the element declaration handler */\r
+XMLPARSEAPI(void)\r
+XML_FreeContentModel(XML_Parser parser, XML_Content *model);\r
+\r
+/* Exposing the memory handling functions used in Expat */\r
+XMLPARSEAPI(void *)\r
+XML_MemMalloc(XML_Parser parser, size_t size);\r
+\r
+XMLPARSEAPI(void *)\r
+XML_MemRealloc(XML_Parser parser, void *ptr, size_t size);\r
+\r
+XMLPARSEAPI(void)\r
+XML_MemFree(XML_Parser parser, void *ptr);\r
\r
/* Frees memory used by the parser. */\r
-void XMLPARSEAPI\r
+XMLPARSEAPI(void)\r
XML_ParserFree(XML_Parser parser);\r
\r
/* Returns a string describing the error. */\r
-const XML_LChar XMLPARSEAPI *\r
-XML_ErrorString(int code);\r
+XMLPARSEAPI(const XML_LChar *)\r
+XML_ErrorString(enum XML_Error code);\r
\r
/* Return a string containing the version number of this expat */\r
-const XML_LChar XMLPARSEAPI *\r
-XML_ExpatVersion();\r
+XMLPARSEAPI(const XML_LChar *)\r
+XML_ExpatVersion(void);\r
+\r
+typedef struct {\r
+ int major;\r
+ int minor;\r
+ int micro;\r
+} XML_Expat_Version;\r
+\r
+/* Return an XML_Expat_Version structure containing numeric version\r
+ number information for this version of expat.\r
+*/\r
+XMLPARSEAPI(XML_Expat_Version)\r
+XML_ExpatVersionInfo(void);\r
+\r
+/* Added in Expat 1.95.5. */\r
+enum XML_FeatureEnum {\r
+ XML_FEATURE_END = 0,\r
+ XML_FEATURE_UNICODE,\r
+ XML_FEATURE_UNICODE_WCHAR_T,\r
+ XML_FEATURE_DTD,\r
+ XML_FEATURE_CONTEXT_BYTES,\r
+ XML_FEATURE_MIN_SIZE,\r
+ XML_FEATURE_SIZEOF_XML_CHAR,\r
+ XML_FEATURE_SIZEOF_XML_LCHAR\r
+ /* Additional features must be added to the end of this enum. */\r
+};\r
+\r
+typedef struct {\r
+ enum XML_FeatureEnum feature;\r
+ const XML_LChar *name;\r
+ long int value;\r
+} XML_Feature;\r
+\r
+XMLPARSEAPI(const XML_Feature *)\r
+XML_GetFeatureList(void);\r
+\r
+\r
+/* Expat follows the GNU/Linux convention of odd number minor version for\r
+ beta/development releases and even number minor version for stable\r
+ releases. Micro is bumped with each release, and set to 0 with each\r
+ change to major or minor version.\r
+*/\r
+#define XML_MAJOR_VERSION 1\r
+#define XML_MINOR_VERSION 95\r
+#define XML_MICRO_VERSION 7\r
\r
#ifdef __cplusplus\r
}\r
--- /dev/null
+files created with pexport/dlltool using libexpat.dll
+version 1.95.8 from http://sourceforge.net/projects/expat
--- /dev/null
+LIBRARY LIBEXPAT.dll\r
+EXPORTS\r
+XML_DefaultCurrent\r
+XML_ErrorString\r
+XML_ExpatVersion\r
+XML_ExpatVersionInfo\r
+XML_ExternalEntityParserCreate\r
+XML_FreeContentModel\r
+XML_GetBase\r
+XML_GetBuffer\r
+XML_GetCurrentByteCount\r
+XML_GetCurrentByteIndex\r
+XML_GetCurrentColumnNumber\r
+XML_GetCurrentLineNumber\r
+XML_GetErrorCode\r
+XML_GetFeatureList\r
+XML_GetIdAttributeIndex\r
+XML_GetInputContext\r
+XML_GetSpecifiedAttributeCount\r
+XML_MemFree\r
+XML_MemMalloc\r
+XML_MemRealloc\r
+XML_Parse\r
+XML_ParseBuffer\r
+XML_ParserCreate\r
+XML_ParserCreateNS\r
+XML_ParserCreate_MM\r
+XML_ParserFree\r
+XML_ParserReset\r
+XML_SetAttlistDeclHandler\r
+XML_SetBase\r
+XML_SetCdataSectionHandler\r
+XML_SetCharacterDataHandler\r
+XML_SetCommentHandler\r
+XML_SetDefaultHandler\r
+XML_SetDefaultHandlerExpand\r
+XML_SetDoctypeDeclHandler\r
+XML_SetElementDeclHandler\r
+XML_SetElementHandler\r
+XML_SetEncoding\r
+XML_SetEndCdataSectionHandler\r
+XML_SetEndDoctypeDeclHandler\r
+XML_SetEndElementHandler\r
+XML_SetEndNamespaceDeclHandler\r
+XML_SetEntityDeclHandler\r
+XML_SetExternalEntityRefHandler\r
+XML_SetExternalEntityRefHandlerArg\r
+XML_SetNamespaceDeclHandler\r
+XML_SetNotStandaloneHandler\r
+XML_SetNotationDeclHandler\r
+XML_SetParamEntityParsing\r
+XML_SetProcessingInstructionHandler\r
+XML_SetReturnNSTriplet\r
+XML_SetSkippedEntityHandler\r
+XML_SetStartCdataSectionHandler\r
+XML_SetStartDoctypeDeclHandler\r
+XML_SetStartElementHandler\r
+XML_SetStartNamespaceDeclHandler\r
+XML_SetUnknownEncodingHandler\r
+XML_SetUnparsedEntityDeclHandler\r
+XML_SetUserData\r
+XML_SetXmlDeclHandler\r
+XML_UseForeignDTD\r
+XML_UseParserAsHandlerArg\r
int i, l, nlen, replaced;
mkshort_handle *hdl = (mkshort_handle *) h;
+
+ /*
+ * A rather horrible special case hack.
+ * If the target length is "6" and the source length is "7" and
+ * the first two characters are "GC", we'll assume it's one of the
+ * the new seven digit geocache numbers and special case whacking
+ * the 'G' off the front.
+ */
+ if ((hdl->target_len == 6) && (strlen(ostring) == 7) &&
+ (ostring[0] == 'G') && (ostring[1] == 'C')) {
+ memmove(&ostring[0], &ostring[1], strlen(ostring));
+ }
+
/*
* Whack leading "[Tt]he",
*/
if (dp < ostring) dp = ostring;
memmove(dp, np, strlen(np));
dp[strlen(np)] = 0;
+ rtrim(ostring);
}
/*
int count = 0;
route_head *route;
waypoint *wpt;
+ char version;
is_fatal((strncmp(head->masm, "MASM", 4) != 0), MYNAME ": Invalid or unknown data!");
-
+
+ version = buff[0x14];
+ is_fatal((version < 1) || (version > 7), MYNAME ": Unsupported version %d!", version);
+
cin = buff + 71; // sizeof(msroute_head_t);
route = route_head_alloc();
short test;
cin++;
+ if (version == 7) cin+=8;
len = *cin++;
strncpy(text, cin, len);
--- /dev/null
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GPSBabel", "GPSBabel.vcproj", "{135B8DD1-7606-409F-8395-9C248DDF94A4}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {135B8DD1-7606-409F-8395-9C248DDF94A4}.Debug.ActiveCfg = Debug|Win32
+ {135B8DD1-7606-409F-8395-9C248DDF94A4}.Debug.Build.0 = Debug|Win32
+ {135B8DD1-7606-409F-8395-9C248DDF94A4}.Release.ActiveCfg = Release|Win32
+ {135B8DD1-7606-409F-8395-9C248DDF94A4}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
--- /dev/null
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="GPSBabel"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="1"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="expatw,..\coldsync,."
+ PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;NDEBUG;_CONSOLE;__WIN32__;XML_UNICODE"
+ StringPooling="TRUE"
+ RuntimeLibrary="4"
+ EnableFunctionLevelLinking="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Release/GPSBabel.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="odbc32.lib odbccp32.lib setupapi.lib"
+ OutputFile=".\Release/GPSBabel.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ ProgramDatabaseFile=".\Release/GPSBabel.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\Release/GPSBabel.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="1"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="expatw,..\coldsync,."
+ PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;WIN32;__WIN32__;_DEBUG;_CONSOLE;XML_UNICODE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/GPSBabel.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ BrowseInformation="1"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="odbc32.lib odbccp32.lib setupapi.lib"
+ OutputFile=".\Debug/GPSBabel.exe"
+ LinkIncremental="1"
+ SuppressStartupBanner="TRUE"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/GPSBabel.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ TypeLibraryName=".\Debug/GPSBabel.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="1033"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
+ <File
+ RelativePath="..\alan.c">
+ </File>
+ <File
+ RelativePath="..\an1.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\arcdist.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\axim_gpb.c">
+ </File>
+ <File
+ RelativePath="..\bcr.c">
+ </File>
+ <File
+ RelativePath="..\brauniger_iq.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\cet.c">
+ </File>
+ <File
+ RelativePath="..\cet_util.c">
+ </File>
+ <File
+ RelativePath="..\cetus.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\coastexp.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\compegps.c">
+ </File>
+ <File
+ RelativePath="..\copilot.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\coto.c">
+ </File>
+ <File
+ RelativePath="..\cst.c">
+ </File>
+ <File
+ RelativePath="..\csv_util.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\delgpl.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\discard.c">
+ </File>
+ <File
+ RelativePath="..\dmtlog.c">
+ </File>
+ <File
+ RelativePath="..\duplicate.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\easygps.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\fatal.c">
+ </File>
+ <File
+ RelativePath="..\filter_skeleton.c">
+ </File>
+ <File
+ RelativePath="..\filter_vecs.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\format_skeleton.c">
+ </File>
+ <File
+ RelativePath="..\formspec.c">
+ </File>
+ <File
+ RelativePath="..\garmin.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\garmin_fs.c">
+ </File>
+ <File
+ RelativePath="..\garmin_tables.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\garmin_txt.c">
+ </File>
+ <File
+ RelativePath="..\gbfile.c">
+ </File>
+ <File
+ RelativePath="..\gbser.c">
+ </File>
+ <File
+ RelativePath="..\gbser_win.c">
+ </File>
+ <File
+ RelativePath="..\gbsleep.c">
+ </File>
+ <File
+ RelativePath="..\gcdb.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\gdb.c">
+ </File>
+ <File
+ RelativePath="..\geo.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\geoniche.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\globals.c">
+ </File>
+ <File
+ RelativePath="..\glogbook.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\google.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\gpilots.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\gpspilot.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\gpssim.c">
+ </File>
+ <File
+ RelativePath="..\gpsutil.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\gpx.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\grtcirc.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\gtm.c">
+ </File>
+ <File
+ RelativePath="..\gtrnctr.c">
+ </File>
+ <File
+ RelativePath="..\hiketech.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\holux.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\hsa_ndv.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\igc.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\ignrando.c">
+ </File>
+ <File
+ RelativePath="..\inifile.c">
+ </File>
+ <File
+ RelativePath="..\internal_styles.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\interpolate.c">
+ </File>
+ <File
+ RelativePath="..\kml.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\Expatw\libexpatw.lib">
+ </File>
+ <File
+ RelativePath="..\lowranceusr.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\mag_pdb.c">
+ </File>
+ <File
+ RelativePath="..\maggeo.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\magnav.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\magproto.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\main.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\mapopolis.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\mapsend.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\mapsource.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\mkshort.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\msroute.c">
+ </File>
+ <File
+ RelativePath="..\navicache.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\netstumbler.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\nmea.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\nmn4.c">
+ </File>
+ <File
+ RelativePath="..\nukedata.c">
+ </File>
+ <File
+ RelativePath="..\overlay.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\ozi.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\palmdoc.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\pathaway.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\pcx.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\polygon.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\position.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\psitrex.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\psp.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\queue.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\quovadis.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\radius.c">
+ </File>
+ <File
+ RelativePath="..\raymarine.c">
+ </File>
+ <File
+ RelativePath="..\reverse_route.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rgbcolors.c">
+ </File>
+ <File
+ RelativePath="..\route.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\saroute.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\shape.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\smplrout.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\sort.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\stackfilter.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\stmsdf.c">
+ </File>
+ <File
+ RelativePath="..\stmwpp.c">
+ </File>
+ <File
+ RelativePath="..\strptime.c">
+ </File>
+ <File
+ RelativePath="..\tef_xml.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\text.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\tiger.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\tmpro.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\tomtom.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\tpg.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\tpo.c">
+ </File>
+ <File
+ RelativePath="..\trackfilter.c">
+ </File>
+ <File
+ RelativePath="..\transform.c">
+ </File>
+ <File
+ RelativePath="..\unicsv.c">
+ </File>
+ <File
+ RelativePath="..\units.c">
+ </File>
+ <File
+ RelativePath="..\util.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\util_crc.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\uuid.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\vcf.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\vecs.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\vitosmt.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\vmem.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\waypt.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\wbt-200.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\wfff_xml.c">
+ </File>
+ <File
+ RelativePath="..\xcsv.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\xmlgeneric.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\xmltag.c">
+ </File>
+ <File
+ RelativePath="..\yahoo.c">
+ </File>
+ <Filter
+ Name="Jeeps"
+ Filter="">
+ <File
+ RelativePath="..\jeeps\gpsapp.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Jeeps/"
+ ProgramDataBaseFileName="Release\Jeeps/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Jeeps/"
+ ProgramDataBaseFileName="Debug\Jeeps/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpscom.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Jeeps/"
+ ProgramDataBaseFileName="Release\Jeeps/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Jeeps/"
+ ProgramDataBaseFileName="Debug\Jeeps/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsdevice.c">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsdevice_ser.c">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsdevice_usb.c">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsmath.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Jeeps/"
+ ProgramDataBaseFileName="Release\Jeeps/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Jeeps/"
+ ProgramDataBaseFileName="Debug\Jeeps/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsmem.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Jeeps/"
+ ProgramDataBaseFileName="Release\Jeeps/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Jeeps/"
+ ProgramDataBaseFileName="Debug\Jeeps/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsprot.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Jeeps/"
+ ProgramDataBaseFileName="Release\Jeeps/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Jeeps/"
+ ProgramDataBaseFileName="Debug\Jeeps/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsread.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Jeeps/"
+ ProgramDataBaseFileName="Release\Jeeps/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Jeeps/"
+ ProgramDataBaseFileName="Debug\Jeeps/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsrqst.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Jeeps/"
+ ProgramDataBaseFileName="Release\Jeeps/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Jeeps/"
+ ProgramDataBaseFileName="Debug\Jeeps/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpssend.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Jeeps/"
+ ProgramDataBaseFileName="Release\Jeeps/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Jeeps/"
+ ProgramDataBaseFileName="Debug\Jeeps/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsserial.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Jeeps/"
+ ProgramDataBaseFileName="Release\Jeeps/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Jeeps/"
+ ProgramDataBaseFileName="Debug\Jeeps/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsusbread.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsusbsend.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsusbwin.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsutil.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Jeeps/"
+ ProgramDataBaseFileName="Release\Jeeps/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Jeeps/"
+ ProgramDataBaseFileName="Debug\Jeeps/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Coldsync"
+ Filter="">
+ <File
+ RelativePath="..\coldsync\pdb.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Coldsync/"
+ ProgramDataBaseFileName="Release\Coldsync/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Coldsync/"
+ ProgramDataBaseFileName="Debug\Coldsync/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\coldsync\util.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ ObjectFile=".\Release\Coldsync/"
+ ProgramDataBaseFileName="Release\Coldsync/"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ ObjectFile=".\Debug\Coldsync/"
+ ProgramDataBaseFileName="Debug\Coldsync/"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="ShapeLib"
+ Filter="">
+ <File
+ RelativePath="..\shapelib\dbfopen.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\shapelib\shpopen.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ BrowseInformation="1"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl">
+ <File
+ RelativePath=".\config.h">
+ </File>
+ <File
+ RelativePath="..\csv_util.h">
+ </File>
+ <File
+ RelativePath="..\defs.h">
+ </File>
+ <File
+ RelativePath="..\garmin_tables.h">
+ </File>
+ <File
+ RelativePath="..\grtcirc.h">
+ </File>
+ <File
+ RelativePath="..\holux.h">
+ </File>
+ <File
+ RelativePath="..\magellan.h">
+ </File>
+ <File
+ RelativePath="..\mapsend.h">
+ </File>
+ <File
+ RelativePath="..\queue.h">
+ </File>
+ <File
+ RelativePath="..\quovadis.h">
+ </File>
+ <File
+ RelativePath="..\uuid.h">
+ </File>
+ <Filter
+ Name="Coldsync-Headers"
+ Filter="">
+ <File
+ RelativePath="..\coldsync\config.h">
+ </File>
+ <File
+ RelativePath="..\coldsync\palm.h">
+ </File>
+ <File
+ RelativePath="..\coldsync\pdb.h">
+ </File>
+ <File
+ RelativePath="..\coldsync\pconn\util.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Jeeps-Headers"
+ Filter="">
+ <File
+ RelativePath="..\jeeps\gps.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsapp.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpscom.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsdatum.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsfmt.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsinput.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsmath.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsmem.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsnmea.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsnmeafmt.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsnmeaget.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsport.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsproj.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsprot.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsread.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsrqst.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpssend.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsserial.h">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsusbcommon.c">
+ </File>
+ <File
+ RelativePath="..\jeeps\gpsutil.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="ShapeLib-Headers"
+ Filter="">
+ <File
+ RelativePath="..\shapelib\shapefil.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Zlib-Headers"
+ Filter="">
+ <File
+ RelativePath="..\zlib\crc32.h">
+ </File>
+ <File
+ RelativePath="..\zlib\deflate.h">
+ </File>
+ <File
+ RelativePath="..\zlib\inffast.h">
+ </File>
+ <File
+ RelativePath="..\zlib\inffixed.h">
+ </File>
+ <File
+ RelativePath="..\zlib\inflate.h">
+ </File>
+ <File
+ RelativePath="..\zlib\inftrees.h">
+ </File>
+ <File
+ RelativePath="..\zlib\trees.h">
+ </File>
+ <File
+ RelativePath="..\zlib\zconf.h">
+ </File>
+ <File
+ RelativePath="..\zlib\zlib.h">
+ </File>
+ <File
+ RelativePath="..\zlib\zutil.h">
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Name="Source Files"\r
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"\r
>\r
+ <File\r
+ RelativePath="..\alan.c"\r
+ >\r
+ </File>\r
<File\r
RelativePath="..\an1.c"\r
>\r
/>\r
</FileConfiguration>\r
</File>\r
+ <File\r
+ RelativePath="..\radius.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\raymarine.c"\r
+ >\r
+ </File>\r
<File\r
RelativePath="..\reverse_route.c"\r
>\r
RelativePath="..\trackfilter.c"\r
>\r
</File>\r
+ <File\r
+ RelativePath="..\transform.c"\r
+ >\r
+ </File>\r
<File\r
RelativePath="..\unicsv.c"\r
>\r
>\r
</File>\r
</Filter>\r
+ <Filter\r
+ Name="Zlib"\r
+ >\r
+ <File\r
+ RelativePath="..\zlib\adler32.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\compress.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\crc32.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\deflate.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\gzio.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\infback.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\inffast.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\inflate.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\inftrees.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\trees.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\uncompr.c"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\zutil.c"\r
+ >\r
+ </File>\r
+ </Filter>\r
</Filter>\r
<Filter\r
Name="Header Files"\r
Filter="h;hpp;hxx;hm;inl"\r
>\r
+ <File\r
+ RelativePath=".\config.h"\r
+ >\r
+ </File>\r
<File\r
RelativePath="..\csv_util.h"\r
>\r
>\r
</File>\r
</Filter>\r
+ <Filter\r
+ Name="Zlib-Headers"\r
+ >\r
+ <File\r
+ RelativePath="..\zlib\crc32.h"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\deflate.h"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\inffast.h"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\inffixed.h"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\inflate.h"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\inftrees.h"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\trees.h"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\zconf.h"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\zlib.h"\r
+ >\r
+ </File>\r
+ <File\r
+ RelativePath="..\zlib\zutil.h"\r
+ >\r
+ </File>\r
+ </Filter>\r
</Filter>\r
<Filter\r
Name="Resource Files"\r
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"\r
>\r
</Filter>\r
- <Filter\r
- Name="NewFilter1"\r
- >\r
- </Filter>\r
</Files>\r
<Globals>\r
</Globals>\r
-#define HAVE_LIBEXPAT 1\r
-#define __va_copy(ap1, ap2) ((ap1) = (ap2))\r
-\r
-// This controls the capabilities of our Character Encoding Transformations.\r
-// Undefne for minimal.\r
-// Define to zero for the common UTF-8, ASCII and related sets.\r
-// Define to one for everything we know.\r
-\r
-#undef CET_WANTED \r
-\r
-/* 1 to enable the CSV formats support */\r
-#undef CSVFMTS_ENABLED \r
-\r
-/* 1 to enable all the filters. */\r
-#undef FILTERS_ENABLED \r
-\r
-/* 1 to enable Palm PDB support */\r
-#undef PDBFMTS_ENABLED \r
-\r
-/* 1 to enable shapefile support */\r
-#undef SHAPELIB_ENABLED\r
-\r
-#define ZLIB_INHIBITED 1\r
-\r
-/* We really should figure out some way to get this from autoconf into\r
- * a file so that the MSVC build can pick it up\r
- */\r
-#define VERSION "1.3.1"\r
+#define HAVE_LIBEXPAT 1
+#define __va_copy(ap1, ap2) ((ap1) = (ap2))
+
+// This controls the capabilities of our Character Encoding Transformations.
+// Undefne for minimal.
+// Define to zero for the common UTF-8, ASCII and related sets.
+// Define to one for everything we know.
+
+#undef CET_WANTED
+
+/* 1 to enable the CSV formats support */
+#undef CSVFMTS_ENABLED
+
+/* 1 to enable all the filters. */
+#undef FILTERS_ENABLED
+
+/* 1 to enable Palm PDB support */
+#undef PDBFMTS_ENABLED
+
+/* 1 to enable shapefile support */
+#undef SHAPELIB_ENABLED
+
+#define ZLIB_INHIBITED 1
+
static waypoint * last_waypt = NULL;
static void * gbser_handle;
static const char *posn_fname;
+static queue pcmpt_head;
static int without_date; /* number of created trackpoints without a valid date */
static struct tm opt_tm; /* converted "date" parameter */
{
curr_waypt = NULL;
last_waypt = NULL;
+ QUEUE_INIT(&pcmpt_head);
if (getposnarg) {
getposn = 1;
if (time->tm_year == 0)
{
wpt->creation_time = ((((time_t)time->tm_hour * 60) + time->tm_min) * 60) + time->tm_sec;
- if (wpt->centiseconds == 0)
+ if (wpt->microseconds == 0)
{
- wpt->centiseconds++;
+ wpt->microseconds++;
without_date++;
}
}
else
{
wpt->creation_time = mkgmtime(time);
- if (wpt->centiseconds != 0)
+ if (wpt->microseconds != 0)
{
- wpt->centiseconds = 0;
+ wpt->microseconds = 0;
without_date--;
}
}
double latdeg, lngdeg;
char lngdir, latdir;
int hms;
- char valid;
+ char valid = 0;
waypoint *waypt;
if (trk_head == NULL) {
if (lngdir == 'W') lngdeg = -lngdeg;
waypt->longitude = ddmm2degrees(lngdeg);
+ if (curr_waypt && (read_mode == rm_serial)) {
+ waypt_free(curr_waypt);
+ }
curr_waypt = waypt;
}
char lngdir, latdir;
double hms;
double alt;
- int fix;
- int nsats;
+ int fix = fix_unknown;
+ int nsats = 0;
double hdop;
char altunits;
waypoint *waypt;
break;
}
+ if (curr_waypt && (read_mode == rm_serial)) {
+ waypt_free(curr_waypt);
+ }
curr_waypt = waypt;
}
if (lngdir == 'W') lngdeg = -lngdeg;
waypt->longitude = ddmm2degrees(lngdeg);
+ if (curr_waypt && (read_mode == rm_serial)) {
+ waypt_free(curr_waypt);
+ }
curr_waypt = waypt;
}
}
+/*
+ * AVMAP EKP-IV Tracks - a proprietary (and very weird) extended NMEA.
+ * https://sourceforge.net/tracker/?func=detail&atid=489478&aid=1640814&group_id=58972
+ */
+static
+double pcmpt_deg(int d)
+{
+ int deg;
+ double minutes;
+
+ deg = d / 100000;
+ minutes = (((d / 100000.0) - deg) * 100) / 60.0;
+ return (double) deg + minutes;
+}
+
+void
+pcmpt_parse(char *ibuf)
+{
+ int i, j1, j2, j3, j4, j5, j6;
+ int lat, lon;
+ char altflag, u1, u2;
+ float alt, f1, f2;
+ char coords[20] = {0};
+ int dmy, hms;
+
+ dmy = hms = 0;
+
+ sscanf(ibuf,"$PCMPT,%d,%d,%d,%c,%f,%d,%[^,],%d,%f,%d,%f,%c,%d,%c,%d",
+ &j1, &j2, &j3, &altflag, &alt, &j4, (char *) &coords,
+ &j5, &f1, &j6, &f2, &u1, &dmy, &u2, &hms);
+
+ if (altflag == 'D' && curr_waypt && alt > 0) {
+ curr_waypt->altitude = alt /*+ 500*/;
+ return;
+ }
+
+ /*
+ * There are a couple of different second line records, but we
+ * don't care about them.
+ */
+ if (j2 != 1) {
+ return;
+ }
+
+ sscanf(coords, "%d%n", &lat, &i);
+ if (coords[i] == 'S') lat = -lat;
+ sscanf(coords + i + 1, "%d%n", &lon, &i);
+ if (coords[i] == 'W') lon= -lon;
+
+ if (lat || lon) {
+ curr_waypt = waypt_new();
+ curr_waypt->longitude = pcmpt_deg(lon);
+ curr_waypt->latitude = pcmpt_deg(lat);
+
+ tm.tm_sec = (long) hms % 100;
+ hms = hms / 100;
+ tm.tm_min = (long) hms % 100;
+ hms = hms / 100;
+ tm.tm_hour = (long) hms % 100;
+
+ tm.tm_year = dmy % 10000 - 1900;
+ dmy = dmy / 10000;
+ tm.tm_mon = dmy % 100 - 1;
+ dmy = dmy / 100;
+ tm.tm_mday = dmy;
+ nmea_set_waypoint_time(curr_waypt, &tm);
+ ENQUEUE_HEAD(&pcmpt_head, &curr_waypt->Q);
+ } else {
+ queue *elem, *tmp;
+ route_head *trk_head;
+
+ if (QUEUE_EMPTY(&pcmpt_head)) {
+ return;
+ }
+
+ /*
+ * Since we oh-so-cleverly inserted points at the head,
+ * we can rip through the queue forward now to get our
+` * handy-dandy reversing effect.
+ */
+ trk_head = route_head_alloc();
+ track_add_head(trk_head);
+ QUEUE_FOR_EACH(&pcmpt_head, elem, tmp) {
+ waypoint *wpt = (waypoint *) dequeue(elem);
+ track_add_wpt(trk_head, wpt);
+ }
+ }
+}
+
static void
nmea_fix_timestamps(route_head *track)
{
{
waypoint *wpt = (waypoint *)elem;
- if (wpt->centiseconds != 0)
+ if (wpt->microseconds != 0)
{
time_t dt;
- wpt->centiseconds = 0; /* reset flag */
+ wpt->microseconds = 0; /* reset flag */
dt = (prev / SECONDS_PER_DAY) * SECONDS_PER_DAY;
wpt->creation_time += dt;
if (0 == strncmp(tbuf, "$GPZDA,",7)) {
gpzda_parse(tbuf);
} else
+ if (0 == strncmp(tbuf, "$PCMPT,", 7)) {
+ pcmpt_parse(tbuf);
+ } else
if (dogpvtg && (0 == strncmp(tbuf, "$GPVTG,",7))) {
gpvtg_parse(tbuf); /* speed and course */
} else
fatal(MYNAME ": Could not open '%s' for position tracking.\n", fname);
}
+ gbser_flush(gbser_handle);
+
if (opt_baud) {
if (!gbser_set_speed(gbser_handle, atoi(opt_baud))) {
fatal(MYNAME ": Unable to set baud rate %s\n", opt_baud);
posn_fname = fname;
}
+static void
+safe_print(int cnt, const char *b)
+{
+ int i;
+ for (i = 0; i < cnt; i++) {
+ char c = isprint(b[i]) ? b[i] : '.';
+ fputc(c, stderr);
+ }
+}
+
+static void reset_sirf_to_nmea(int br);
+
+static
+int hunt_sirf(void)
+{
+ /* Try to place the common BR's first to speed searching */
+ static int br[] = {38400, 9600, 57600, 115200, 19200, 4800, -1};
+ static int *brp = &br[0];
+ char ibuf[1024];
+
+ for (brp = br; *brp > 0; brp++) {
+ int rv;
+ if (global_opts.debug_level > 1) {
+ fprintf(stderr, "Trying %d\n", *brp);
+ }
+
+ /*
+ * Cycle our port's data speed and spray the "change to NMEA
+ * mode to the device.
+ */
+ gbser_set_speed(gbser_handle, *brp);
+ reset_sirf_to_nmea(*brp);
+
+ rv = gbser_read_line(gbser_handle, ibuf, sizeof(ibuf),
+ 1000, 0x0a, 0x0d);
+ /*
+ * If we didn't get a read error but did get a string that
+ * started with a dollar sign, we're probably in NMEA mode
+ * now.
+ */
+ if ((rv > -1) && (strlen(ibuf) > 0) && ibuf[0] == '$') {
+ return 1;
+ }
+
+ /*
+ * If nothing was received, it's not a sirf part. Fast exit.
+ */
+ if (rv < 0) {
+ return 0;
+ }
+ }
+ return 0;
+}
+
static waypoint *
nmea_rd_posn(posn_status *posn_status)
{
char ibuf[1024];
static double lt = -1;
int i;
+ int am_sirf = 0;
/*
* Read a handful of sentences, collecting the best info we
* about to restart and thus the one we're collecting isn't going
* to get any better than we now have) hand that back to the caller.
*/
+
for (i = 0; i < 10; i++) {
int rv;
ibuf[0] = 0;
rv = gbser_read_line(gbser_handle, ibuf, sizeof(ibuf), 2000, 0x0a, 0x0d);
if (global_opts.debug_level > 1) {
- warning( "READ: %s\n", ibuf);
+ safe_print(strlen(ibuf), ibuf);
}
if (rv < 0) {
+ if (am_sirf == 0) {
+ if (global_opts.debug_level > 1) {
+ warning(MYNAME ": Attempting sirf mode.\n");
+ }
+ /* This is tacky, we have to change speed
+ * to 9600bps to tell it to speak NMEA at
+ * 4800.
+ */
+ am_sirf = hunt_sirf();
+ if (am_sirf) {
+ i = 0;
+ continue;
+ }
+ }
fatal(MYNAME ": No data received on %s.\n", posn_fname);
}
nmea_parse_one_line(ibuf);
if (lt != last_read_time) {
if (last_read_time) {
+ waypoint *w = curr_waypt;
+
lt = last_read_time;
- return waypt_dupe(curr_waypt);
+ curr_waypt = NULL;
+
+ return w;
}
}
}
CET_CHARSET_ASCII, 0, /* CET-REVIEW */
{ nmea_rd_posn_init, nmea_rd_posn, nmea_rd_deinit, NULL, NULL, NULL }
};
+
+/*
+ * If we later decide to implement a "real" Sirf module, this code should
+ * go there. For now, we try a kind of heavy handed thing - if we don't
+ * see NMEA-isms from the device, we'll go on the premise that it MAY be
+ * a SiRF Star device and send it the "speak NMEA, please" command.
+ */
+
+static void
+sirf_write(unsigned char *buf)
+{
+ int i, chksum = 0;
+ int len = buf[2] << 8 | buf[3];
+
+ for (i = 0; i < len; i++) {
+ chksum += buf[4 + i];
+ }
+ chksum &= 0x7fff;
+
+ buf[len + 4] = chksum >> 8;
+ buf[len + 5] = chksum & 0xff;
+
+ gbser_write(gbser_handle, buf, len + 8); /* 4 at front, 4 at back */
+}
+
+static
+void reset_sirf_to_nmea(int br)
+{
+ static unsigned char pkt[] = {0xa0, 0xa2, 0x00, 0x18,
+ 0x81, 0x02,
+ 0x01, 0x01, /* GGA */
+ 0x00, 0x00, /* suppress GLL */
+ 0x01, 0x00, /* suppress GSA */
+ 0x05, 0x00, /* suppress GSV */
+ 0x01, 0x01, /* use RMC for date*/
+ 0x00, 0x00, /* suppress VTG */
+ 0x00, 0x01, /* output rate */
+ 0x00, 0x01, /* unused recommended values */
+ 0x00, 0x01,
+ 0x00, 0x01, /* ZDA */
+ 0x12, 0xc0, /* 4800 bps */
+ 0x00, 0x00, /* checksum */
+ 0xb0, 0xb3}; /* packet end */
+ /* repopulate bit rate */
+ pkt[26] = br >> 8;
+ pkt[27] = br & 0xff;
+
+ sirf_write(pkt);
+ gb_sleep(250 * 1000);
+ gbser_flush(gbser_handle);
+}
logpart = xml_findfirst( curlog, "groundspeak:date" );
if ( logpart ) {
- logtime = xml_parse_time( logpart->cdata );
+ logtime = xml_parse_time( logpart->cdata, NULL);
logtm = localtime( &logtime );
if ( logtm ) {
docprintf( 15,
if (*str == 'O') german_release = 1;
tmp = strchr(str, ' ');
- if ((tmp) && (tmp - str < 4))
+ if ((tmp) && (tmp - str < 5))
{
CHECK_INP(3, sscanf(str,"%c%d %lf", &dir, °, &val), "decode_coord(2)");
val = deg + (val / 60.0);
Access to Garmin PCX5 files.
Format described in: http://www.garmin.com/manuals/PCX5_OwnersManual.pdf
- Copyright (C) 2002-2005 Robert Lipe, robertlipe@usa.net
+ Copyright (C) 2002-2006 Robert Lipe, robertlipe@usa.net
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#include "defs.h"
#include "garmin_tables.h"
+#include "csv_util.h"
#include <ctype.h>
static gbfile *file_in, *file_out;
static char *deficon = NULL;
static char *cartoexploreur;
static int read_as_degrees;
+static int read_gpsu;
static int route_ctr;
+static int comment_col = 60; /* This has a default */
+static int sym_col;
+static int lat_col;
+static int lon_col;
#define MYNAME "PCX"
static void
data_read(void)
{
- char name[7], desc[40];
+ char name[7], desc[41];
double lat,lon;
- char latdir, londir;
long alt;
int symnum;
char date[10];
route_head *route = NULL;
int n;
char lathemi, lonhemi;
+ char tbuf[20];
+ char nbuf[20];
+ int points;
read_as_degrees = 0;
+ points = 0;
while ((buff = gbfgetstr(file_in)))
{
switch (ibuf[0]) {
case 'W':
- sscanf(ibuf, "W %6c %c%lf %c%lf %s %s %ld",
- name, &latdir, &lat, &londir, &lon,
- date, time, &alt);
+ time[0] = 0;
+ date[0] = 0;
+ desc[0] = 0;
+ alt = -9999;
+ sscanf(ibuf, "W %6c %s %s %s %s %ld",
+ name, tbuf, nbuf, date, time, &alt);
if (alt == -9999) {
alt = unknown_alt;
}
- sscanf(&ibuf[60], "%40c",
- desc);
+
+ if (comment_col) {
+ strncpy(desc, &ibuf[comment_col], sizeof(desc)-1);
+ } else {
+ desc[0] = 0;
+ }
+
+
symnum = 18;
- sscanf(&ibuf[116], "%d",
- &symnum);
- desc[sizeof(desc)-1] = '\0';
+ if (sym_col) {
+ symnum = atoi(&ibuf[sym_col]);
+ }
+
+ // If we have explicit columns for lat and lon,
+ // copy those entire words (warning: no spaces)
+ // into the respective coord buffers.
+ if (lat_col) {
+ sscanf(tbuf, "%s", ibuf + lat_col);
+ }
+ if (lon_col) {
+ sscanf(nbuf, "%s", ibuf + lon_col);
+ }
+
name[sizeof(name)-1] = '\0';
+ desc[sizeof(desc)-1] = '\0';
wpt_tmp = waypt_new();
wpt_tmp->altitude = alt;
}
wpt_tmp->icon_descr = gt_find_desc_from_icon_number(symnum, PCX, NULL);
- if (latdir == 'S') lat = -lat;
- if (londir == 'W') lon = -lon;
- if (read_as_degrees) {
+ if (read_as_degrees || read_gpsu) {
+ human_to_dec(tbuf, &lat, &lon, 1);
+ human_to_dec(nbuf, &lat, &lon, 2);
+
wpt_tmp->longitude = lon;
wpt_tmp->latitude = lat;
} else {
+ lat = atof(&tbuf[1]);
+ lon = atof(&nbuf[1]);
+ if (tbuf[0] == 'S') lat = -lat;
+ if (nbuf[0] == 'W') lon = -lon;
wpt_tmp->longitude = ddmm2degrees(lon);
wpt_tmp->latitude = ddmm2degrees(lat);
}
if (route != NULL)
route_add_wpt(route, waypt_dupe(wpt_tmp));
waypt_add(wpt_tmp);
+ points++;
break;
case 'H':
/* Garmap2 has headers
everything else is
H(2 chars)TN(tracknane\0)
*/
- if (ibuf[3] == 'L' && ibuf[4] == 'A') {
- track = route_head_alloc();
- track->rte_name = xstrdup("track");
- track_add_head(track);
- } else if (ibuf[3] == 'T' && ibuf[4] == 'N') {
- track = route_head_alloc();
- track->rte_name = xstrdup(&ibuf[6]);
- track_add_head(track);
+ if (points > 0) {
+ track = NULL;
+ points = 0;
+ }
+ if (track == NULL) {
+ if (ibuf[3] == 'L' && ibuf[4] == 'A') {
+ track = route_head_alloc();
+ track->rte_name = xstrdup("track");
+ track_add_head(track);
+ } else if (ibuf[3] == 'T' && ibuf[4] == 'N') {
+ track = route_head_alloc();
+ track->rte_name = xstrdup(&ibuf[6]);
+ track_add_head(track);
+ }
}
break;
case 'R':
track_add_head(track);
}
track_add_wpt(track, wpt_tmp);
+ points++;
break;
case 'U':
read_as_degrees = ! strncmp("LAT LON DEG", ibuf + 3, 11);
+ if (strstr(ibuf, "UTM")) {
+ fatal (MYNAME ": UTM is not supported.\n");
+ }
+ break;
+ // GPSU is apparently PCX but with a different definition
+ // of "LAT LON DM" - unlike the other, it actually IS decimal
+ // minutes.
+ case 'I':
+ read_gpsu = ! (strstr(ibuf, "GPSU") == NULL) ;
break;
+ // This is a format specifier. Use this line to figure out
+ // where our other columns start.
+ case 'F': {
+ int col;
+ char *i = ibuf;
+ sym_col = 0;
+
+ for (col = 0, i = ibuf; *i; col++, i++) {
+ if (0 == case_ignore_strncmp(i, "comment", 7)) {
+ comment_col = col;
+ }
+ if (0 == case_ignore_strncmp(i, "symbol", 6)) {
+ sym_col = col;
+ }
+ if (0 == case_ignore_strncmp(i, "latitude", 8)) {
+ lat_col = col;
+ }
+ if (0 == case_ignore_strncmp(i, "longitude", 9)) {
+ lon_col = col;
+ }
+ }
+ }
+ break;
default:
+ break;
;
+
}
}
}
);
}
-static int
-position_comp(const void * a, const void * b)
-{
- const waypoint *x1 = *(waypoint **)a;
- const waypoint *x2 = *(waypoint **)b;
- double latdiff, londiff, max;
-
- /*
- * this compare makes the assumption that things will fall into
- * order by declaring their biggest single axial difference.
- * It is much less math than distance and bearing from some random
- * point.
- */
-
- londiff = (x1->longitude -
- x2->longitude) * 1000000.0;
- latdiff = (x1->latitude -
- x2->latitude) * 1000000.0;
-
- max = fabs(londiff) >= fabs(latdiff) ? floor(londiff) : floor(latdiff);
-
- if (max < 0)
- return (-1);
- else if (max > 0)
- return (1);
-
- return(0);
-}
-
/* tear through a waypoint queue, processing points by distance */
static void
position_runqueue(queue *q, int nelems, int qtype)
{
queue * elem, * tmp;
waypoint ** comp;
+ int * qlist;
double dist;
- int i, j;
- int del = 0;
+ int i = 0, j, anyitem;
comp = (waypoint **) xcalloc(nelems, sizeof(*comp));
-
- i = 0;
+ qlist = (int *) xcalloc(nelems, sizeof(*qlist));
QUEUE_FOR_EACH(q, elem, tmp) {
comp[i] = (waypoint *)elem;
+ qlist[i] = 0;
i++;
}
-
- if (qtype == wptdata)
- qsort(comp, nelems, sizeof(waypoint *), position_comp);
-
- for (i = 1, j = 0 ; i < nelems ; i++) {
- dist = gc_distance(comp[j]->latitude,
- comp[j]->longitude,
- comp[i]->latitude,
- comp[i]->longitude);
-
- /* convert radians to integer feet */
- dist = (int)(5280*radtomiles(dist));
+
+ for (i = 0 ; i < nelems ; i++) {
+ anyitem = 0;
+
+ if (!qlist[i]) {
+ for (j = i + 1 ; j < nelems ; j++) {
+ if (!qlist[j]) {
+ dist = gc_distance(comp[j]->latitude,
+ comp[j]->longitude,
+ comp[i]->latitude,
+ comp[i]->longitude);
- if (dist <= pos_dist) {
- switch (qtype) {
- case wptdata:
- waypt_del(comp[i]);
- waypt_free(comp[i]);
- del = !!purge_duplicates;
- break;
- case trkdata:
- track_del_wpt(cur_rte, comp[i]);
- del = !!purge_duplicates;
- break;
- case rtedata:
- route_del_wpt(cur_rte, comp[i]);
- del = !!purge_duplicates;
- break;
- default:
- break;
+ /* convert radians to integer feet */
+ dist = (int)(5280*radtomiles(dist));
+
+ if (dist <= pos_dist) {
+ qlist[j] = 1;
+ switch (qtype) {
+ case wptdata:
+ waypt_del(comp[j]);
+ waypt_free(comp[j]);
+ break;
+ case trkdata:
+ track_del_wpt(cur_rte, comp[j]);
+ break;
+ case rtedata:
+ route_del_wpt(cur_rte, comp[j]);
+ break;
+ default:
+ break;
+ }
+ anyitem = 1;
+ }
+ }
}
- }
- else {
- if (del ) {
- switch (qtype) {
- case wptdata:
- waypt_del(comp[j]);
- waypt_free(comp[j]);
- del = 0;
- break;
- case trkdata:
- track_del_wpt(cur_rte, comp[j]);
- del = 0;
- break;
- case rtedata:
- route_del_wpt(cur_rte, comp[j]);
- del = 0;
- break;
- default:
- break;
- }
+
+ if (anyitem && !!purge_duplicates) {
+ switch (qtype) {
+ case wptdata:
+ waypt_del(comp[i]);
+ break;
+ case trkdata:
+ track_del_wpt(cur_rte, comp[i]);
+ break;
+ case rtedata:
+ route_del_wpt(cur_rte, comp[i]);
+ break;
+ default:
+ break;
+ }
+ waypt_free(comp[i]);
}
- j = i;
}
}
- if ( del ) {
- switch (qtype) {
- case wptdata:
- waypt_del(comp[j]);
- waypt_free(comp[j]);
- break;
- case trkdata:
- track_del_wpt(cur_rte, comp[j]);
- break;
- case rtedata:
- route_del_wpt(cur_rte, comp[j]);
- break;
- default:
- break;
- }
- }
-
+
if (comp)
xfree(comp);
+
+ if (qlist)
+ xfree(qlist);
}
static void
const char *icon;
} psit_icon_mapping_t;
-static FILE *psit_file_in;
-static FILE *psit_file_out;
+static gbfile *psit_file_in;
+static gbfile *psit_file_out;
static short_handle mkshort_handle;
/* 2 = not written any tracks out
static void
psit_rd_init(const char *fname)
{
- psit_file_in = xfopen(fname, "r", MYNAME);
+ psit_file_in = gbfopen(fname, "r", MYNAME);
}
static void
psit_rd_deinit(void)
{
- fclose(psit_file_in);
+ gbfclose(psit_file_in);
}
static void
psit_wr_init(const char *fname)
{
- psit_file_out = xfopen(fname, "w", MYNAME);
+ psit_file_out = gbfopen(fname, "w", MYNAME);
}
static void
psit_wr_deinit(void)
{
- fclose(psit_file_out);
+ gbfclose(psit_file_out);
}
/*
* and write into buf.
*/
static void
-psit_getToken(FILE *psit_file, char *buf, size_t sz, psit_tokenSep_type delimType)
+psit_getToken(gbfile *psit_file, char *buf, size_t sz, psit_tokenSep_type delimType)
{
int c = -1;
*buf = 0;
if (delimType != EOL) {
- while ((c = fgetc (psit_file)) != EOF) {
+ while ((c = gbfgetc(psit_file)) != EOF) {
if (!isspace(c)) break;
}
}
- if (feof(psit_file)) return;
+ if (gbfeof(psit_file)) return;
if (delimType == EOL) {
- c = fgetc (psit_file);
+ c = gbfgetc(psit_file);
}
if (c == '#') {
- if (fgets(buf, sz, psit_file) == NULL) {
+ if (gbfgets(buf, sz, psit_file) == NULL) {
*buf = 0;
return;
}
if ((delimType == EOL) || (delimType == ltrimEOL)) {
*buf = c;
buf++;
- fgets(buf, sz-1, psit_file);
+ gbfgets(buf, sz-1, psit_file);
return;
}
while (sz--) {
*buf++ = c;
- if ((c = fgetc (psit_file)) == EOF) {
+ if ((c = gbfgetc (psit_file)) == EOF) {
*buf = 0;
return;
}
* MRCB
*/
static void
-psit_waypoint_r(FILE *psit_file, waypoint **wpt)
+psit_waypoint_r(gbfile *psit_file, waypoint **wpt)
{
int garmin_icon_num;
* MRCB
*/
static void
-psit_waypoint_w(FILE *psit_file, const waypoint *wpt)
+psit_waypoint_w(gbfile *psit_file, const waypoint *wpt)
{
int icon;
const char *ident;
char *src = 0; /* BUGBUG Passed to mkshort */
- fprintf(psit_file, "%11.6f,%11.6f,",
+ gbfprintf(psit_file, "%11.6f,%11.6f,",
wpt->latitude,
wpt->longitude);
if (wpt->altitude == unknown_alt)
- fprintf(psit_file, "********,");
+ gbfprintf(psit_file, "********,");
else
- fprintf(psit_file, "%8.2f,",
+ gbfprintf(psit_file, "%8.2f,",
wpt->altitude);
ident = global_opts.synthesize_shortnames ?
mkshort(mkshort_handle, src) :
wpt->shortname;
- fprintf(psit_file, " %-6s, ", ident);
+ gbfprintf(psit_file, " %-6s, ", ident);
icon = gt_find_icon_number_from_desc(wpt->icon_descr, PCX);
if (get_cache_icon(wpt) && wpt->icon_descr && (strcmp(wpt->icon_descr, "Geocache Found") != 0)) {
ident = psit_find_desc_from_icon_number(icon);
if (strlen(ident) == 0)
- fprintf(psit_file, "%1d\n", icon);
+ gbfprintf(psit_file, "%1d\n", icon);
else
- fprintf(psit_file, "%s\n", ident);
+ gbfprintf(psit_file, "%s\n", ident);
}
* MRCB
*/
static void
-psit_route_r(FILE *psit_file, route_head **rte)
+psit_route_r(gbfile *psit_file, route_head **rte)
{
char rtename[256];
unsigned int rte_num;
route_add_wpt(rte_head, thisWaypoint);
- if (feof(psit_file)) break;
+ if (gbfeof(psit_file)) break;
psit_getToken(psit_file,psit_current_token,sizeof(psit_current_token), wscomma);
}
* MRCB
*/
static void
-psit_routehdr_w(FILE *psit_file, const route_head *rte)
+psit_routehdr_w(gbfile *psit_file, const route_head *rte)
{
char hdr[20];
unsigned int rte_datapoints;
allWptNameLengths = 0;
if (rte->waypoint_list.next) { /* this test doesn't do what I want i.e test if this is a valid route - treat as a placeholder for now */
+ char *c;
+
QUEUE_FOR_EACH(&rte->waypoint_list, elem, tmp) {
testwpt = (waypoint *)elem;
if (rte_datapoints == 0) {
else
rname = xstrdup(rte->rte_name);
- fprintf(psit_file, "Route: %s\n",
- rname);
+ /* check for psitrex comment sign; replace with '$' */
+ while ((c = strchr(rname, '#'))) *c = '$';
+
+ gbfprintf(psit_file, "Route: %s\n", rname);
xfree(rname);
}
}
* MRCB
*/
static void
-psit_track_r(FILE *psit_file, route_head **trk)
+psit_track_r(gbfile *psit_file, route_head **trk)
{
char tbuf[100];
char trkname[256];
trk_num = 0;
trk_count = 0;
+
+ track_head = NULL;
psit_getToken(psit_file,psit_current_token,sizeof(psit_current_token), wscomma);
psit_getToken(psit_file,psit_current_token,sizeof(psit_current_token), whitespace);
- if (strcmp(psit_current_token, "1") == 0) {
+ if ((strcmp(psit_current_token, "1") == 0) || (track_head == NULL)) {
track_head = route_head_alloc();
/* Add a number to the track name. With Garmins, the "first" tracklog is usually ACTIVE LOG
the second is ACTIVE LOG001 and so on */
}
thisWaypoint->creation_time = dateTime;
- thisWaypoint->centiseconds = 0;
track_add_wpt(track_head, thisWaypoint);
- if (feof(psit_file)) break;
+ if (gbfeof(psit_file)) break;
psit_getToken(psit_file,psit_current_token,sizeof(psit_current_token), wscomma);
}
* MRCB
*/
static void
-psit_trackhdr_w(FILE *psit_file, const route_head *trk)
+psit_trackhdr_w(gbfile *psit_file, const route_head *trk)
{
char hdr[30];
unsigned int trk_datapoints;
/* total nodes (waypoints) this track */
trk_datapoints = 0;
if (trk->waypoint_list.next) { /* this test doesn't do what I want i.e test if this is a valid track - treat as a placeholder for now */
+ char *c;
+
QUEUE_FOR_EACH(&trk->waypoint_list, elem, tmp) {
if (trk_datapoints == 0) {
testwpt = (waypoint *)elem;
else
tname = xstrdup(trk->rte_name);
- fprintf (psit_file, "Track: %s\n",
- tname);
+ /* check for psitrex comment sign; replace with '$' */
+ while ((c = strchr(tname, '#'))) *c = '$';
+
+ gbfprintf (psit_file, "Track: %s\n", tname);
xfree(tname);
}
* MRCB
*/
static void
-psit_trackdatapoint_w(FILE *psit_file, const waypoint *wpt)
+psit_trackdatapoint_w(gbfile *psit_file, const waypoint *wpt)
{
time_t t = wpt->creation_time;
struct tm *tmTime = gmtime(&t);
- fprintf(psit_file, "%11.6f,%11.6f,",
+ gbfprintf(psit_file, "%11.6f,%11.6f,",
wpt->latitude,
wpt->longitude);
if (wpt->altitude == unknown_alt)
- fprintf(psit_file, "********, ");
+ gbfprintf(psit_file, "********, ");
else
- fprintf(psit_file, "%8.2f, ",
+ gbfprintf(psit_file, "%8.2f, ",
wpt->altitude);
/* Following date time format is fixed and reveals the origin of PsiTrex (i.e. the UK) */
- fprintf(psit_file, "%02d/%02d/%02d %02d:%02d:%02d,",
+ gbfprintf(psit_file, "%02d/%02d/%02d %02d:%02d:%02d,",
tmTime->tm_mday,
tmTime->tm_mon+1,
tmTime->tm_year % 100,
tmTime->tm_min,
tmTime->tm_sec);
- fprintf(psit_file," %d\n", psit_track_state);
+ gbfprintf(psit_file," %d\n", psit_track_state);
psit_track_state = 0;
}
}
else break;
}
- } while (!feof(psit_file_in));
+ } while (!gbfeof(psit_file_in));
return;
next->prev = prev;
prev->next = next;
+
+ QUEUE_INIT(element);
return element;
}
--- /dev/null
+ /*
+
+ Support for Raymarine Waypoint File (.rwf).
+
+ Copyright (C) 2006 Olaf Klein, o.b.klein@gpsbabel.org
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA
+*/
+
+/*
+ Known format limits:
+
+ Waypoint name: max. 16 characters
+ Routes: max. 50 waypoints per route
+
+ History:
+
+ 2006/10/30: Initial release (not yet in GPSBabel source tree)
+ 2006/11/08:
+*/
+
+#include "defs.h"
+#include "inifile.h"
+#include "csv_util.h"
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+typedef unsigned long long guid_t;
+
+static inifile_t *fin;
+static gbfile *fout;
+static waypoint **depot;
+static short_handle hshort;
+static int size_of_depot, items_in_depot;
+static int rte_index, rte_wpt_index;
+static char *sguid;
+static char *opt_location;
+
+#define MYNAME "raymarine"
+
+static
+arglist_t raymarine_args[] =
+{
+ { "location", &opt_location, "Default location", "New location", ARGTYPE_STRING, ARG_NOMINMAX },
+ ARG_TERMINATOR
+};
+
+/* from csv_util.c: convert excel time (days since 1900) to time_t and back again */
+
+#define EXCEL_TO_TIMET(a) ((a - 25569.0) * 86400.0)
+#define TIMET_TO_EXCEL(a) ((a / 86400.0) + 25569.0)
+
+/* Bitmaps */
+
+typedef struct {
+ int id;
+ char *name;
+} raymarine_symbol_mapping_t;
+
+static raymarine_symbol_mapping_t raymarine_symbols[] = {
+ { 0, "Unknown Symbol 0" },
+ { 1, "Unknown Symbol 1" },
+ { 2, "Unknown Symbol 2" },
+ { 3, "Red Square" },
+ { 4, "Big Fish" },
+ { 5, "Anchor" },
+ { 6, "Smiley" },
+ { 7, "Sad" },
+ { 8, "Red Button" },
+ { 9, "Sailfish" },
+ { 10, "Danger" },
+ { 11, "Attention" },
+ { 12, "Black Square" },
+ { 13, "Intl. Dive Flag" },
+ { 14, "Vessel" },
+ { 15, "Lobster" },
+ { 16, "Buoy" },
+ { 17, "Exclamation" },
+ { 18, "Red X" },
+ { 19, "Check Mark" },
+ { 20, "Black Plus" },
+ { 21, "Black Cross" },
+ { 22, "MOB" },
+ { 23, "Billfish" },
+ { 24, "Bottom Mark" },
+ { 25, "Circle" },
+ { 26, "Diamond" },
+ { 27, "Diamond Quarters" },
+ { 28, "U.S.Dive Flag" },
+ { 29, "Dolphin" },
+ { 30, "Few Fish" },
+ { 31, "Multiple Fish" },
+ { 32, "Many Fish" },
+ { 33, "Single Fish" },
+ { 34, "Small Fish" },
+ { 35, "Marker" },
+ { 36, "Cocktails" },
+ { 37, "Red Box Marker" },
+ { 38, "Reef" },
+ { 39, "Rocks" },
+ { 40, "FishSchool" },
+ { 41, "Seaweed" },
+ { 42, "Shark" },
+ { 43, "Sportfisher" },
+ { 44, "Swimmer" },
+ { 45, "Top Mark" },
+ { 46, "Trawler" },
+ { 47, "Tree" },
+ { 48, "Triangle" },
+ { 49, "Wreck" }
+};
+
+#define RAYMARINE_SYMBOL_CT sizeof(raymarine_symbols) / sizeof(raymarine_symbol_mapping_t)
+#define RAYMARINE_STD_SYMBOL 3
+
+static int
+find_symbol_num(const char *descr)
+{
+ if ((descr != NULL) && (*descr)) {
+
+ int i;
+ raymarine_symbol_mapping_t *a;
+
+ a = &raymarine_symbols[0];
+
+ for (i = 0; i < RAYMARINE_SYMBOL_CT; i++, a++) {
+ if (case_ignore_strcmp(descr, a->name) == 0) return i;
+ }
+ }
+
+ return RAYMARINE_STD_SYMBOL;
+}
+
+/* ============================================= */
+/* %%% R A Y M A R I N E R E A D E R %%% */
+/* ============================================= */
+
+static void
+raymarine_rd_init(const char *fname)
+{
+ fin = inifile_init(fname, MYNAME);
+}
+
+static void
+raymarine_rd_done(void)
+{
+ inifile_done(fin);
+}
+
+static void
+raymarine_read(void)
+{
+ waypoint *wpt;
+ int ix, rx;
+
+ /* Read all waypoints */
+
+ for (ix = 0; ix < 0x3FFF; ix++) {
+ char sect[10];
+ char *str, *name, *lat, *lon;
+
+ /* built section identifier */
+ snprintf(sect, sizeof(sect), "Wp%d", ix);
+
+ /* try to read our most expected values */
+ if (NULL == (name = inifile_readstr(fin, sect, "Name"))) break;
+ if (NULL == (lat = inifile_readstr(fin, sect, "Lat"))) break;
+ if (NULL == (lon = inifile_readstr(fin, sect, "Long"))) break;
+
+ wpt = waypt_new();
+ wpt->shortname = xstrdup(name);
+ wpt->latitude = atof(lat);
+ wpt->longitude = atof(lon);
+ waypt_add(wpt);
+
+ /* try to read optional values */
+ if (((str = inifile_readstr(fin, sect, "Notes"))) && *str) wpt->notes = xstrdup(str);
+ if (((str = inifile_readstr(fin, sect, "Time"))) && *str) wpt->creation_time = EXCEL_TO_TIMET(atof(str));
+ if (((str = inifile_readstr(fin, sect, "Bmp"))) && *str) {
+ int symbol = atoi(str);
+
+ if ((symbol < 3) && (symbol >= RAYMARINE_SYMBOL_CT))
+ symbol = RAYMARINE_STD_SYMBOL;
+ wpt->icon_descr = raymarine_symbols[symbol].name;
+ }
+ }
+
+ /* Read all routes */
+
+ for (rx = 0; rx < 0x3FFF; rx++) {
+ char sect[10];
+ char *name;
+ route_head *rte;
+ int wx;
+
+ snprintf(sect, sizeof(sect), "Rt%d", rx);
+ if (NULL == (name = inifile_readstr(fin, sect, "Name"))) break;
+
+ rte = route_head_alloc();
+ rte->rte_name = xstrdup(name);
+ route_add_head(rte);
+
+ for (wx = 0; wx < 0x3FFF; wx++) {
+ char buff[32];
+ char *str;
+ waypoint * wpt;
+
+ snprintf(buff, sizeof(buff), "Mk%d", wx);
+ str = inifile_readstr(fin, sect, buff);
+ if ((str == NULL) || (*str == '\0')) break;
+
+ wpt = find_waypt_by_name(str);
+ if (wpt == NULL)
+ fatal(MYNAME ": No associated waypoint for route point %s (Route %s)!\n",
+ str, rte->rte_name);
+
+ route_add_wpt(rte, waypt_dupe(wpt));
+ }
+ }
+}
+
+/* ============================================= */
+/* %%% R A Y M A R I N E W R I T E R %%% */
+/* ============================================= */
+
+
+static guid_t
+mkGUID(void)
+{
+ guid_t res;
+
+ if (gpsbabel_time != 0) {
+ srand(gpsbabel_time + rand());
+ res = ((guid_t) (gpsbabel_time) << 48) |
+ ((guid_t)(rand() & 0xFFFF) << 32) |
+ ((guid_t)(rand() & 0xFFFF) << 16) |
+ (rand() & 0xFFFF);
+ }
+ else res = 0;
+
+ return res;
+}
+
+static char *
+GUID2str(guid_t GUID)
+{
+ gbuint16 w0, w1, w2, w3;
+ char *res;
+
+ w0 = GUID & 0xFFFF; GUID = GUID >> 16;
+ w1 = GUID & 0xFFFF; GUID = GUID >> 16;
+ w2 = GUID & 0xFFFF; GUID = GUID >> 16;
+ w3 = GUID & 0xFFFF;
+
+ xasprintf(&res, "%d-%d-%d-%d", w0, w1, w2, w3);
+ return res;
+}
+
+
+static void
+register_waypoint(const waypoint *wpt)
+{
+ int i;
+
+ for (i = 0; i < items_in_depot; i++) {
+ waypoint *cmp = depot[i];
+ if ((strcmp(wpt->shortname, cmp->shortname) == 0) &&
+ (wpt->latitude == cmp->latitude) &&
+ (wpt->longitude == cmp->longitude))
+ return;
+ }
+
+ if (items_in_depot >= size_of_depot) {
+ size_of_depot+=16;
+ if (depot)
+ depot = (void *) xrealloc(depot, size_of_depot * sizeof(wpt));
+ else
+ depot = (void *) xmalloc(size_of_depot * sizeof(wpt));
+ }
+
+ depot[items_in_depot] = (waypoint *)wpt;
+ items_in_depot++;
+}
+
+static void
+write_waypoint(gbfile *fout, const waypoint *wpt, const int waypt_no, const char *location, const char *GUID)
+{
+ char *notes;
+ char *name;
+ double time;
+
+ /* ToDo: remove possible line-breaks from notes */
+
+ notes = (wpt->notes != NULL) ? wpt->notes : "";
+ time = (wpt->creation_time > 0) ? TIMET_TO_EXCEL(wpt->creation_time) : TIMET_TO_EXCEL(gpsbabel_time);
+
+ name = mkshort(hshort, wpt->shortname);
+ gbfprintf(fout, "[Wp%d]\n"
+ "Loc=%s\n"
+ "Name=%s\n"
+ "Lat=%.15f\n"
+ "Long=%.15f\n",
+ waypt_no, location, name, wpt->latitude, wpt->longitude
+ );
+ xfree(name);
+ gbfprintf(fout, "Rng=%.15f\n"
+ "Bear=%.15f\n"
+ "Bmp=%d\n"
+ "Fixed=1\n"
+ "Locked=0\n"
+ "Notes=%s\n",
+ 0.0, 0.0,
+ find_symbol_num(wpt->icon_descr),
+ notes
+ );
+ gbfprintf(fout, "Rel=\n"
+ "RelSet=1\n"
+ "RcCount=1\n"
+ "RcRadius=%.15f\n"
+ "Show=1\n"
+ "RcShow=0\n"
+ "SeaTemp=%.15f\n"
+ "Depth=%.15f\n"
+ "Time=%.10f00000\n"
+ "GUID=%s\n",
+ 0.0, -32678.0, 65535.0, time, GUID
+ );
+}
+
+static void
+write_route_head_cb(const route_head *rte)
+{
+ gbfprintf(fout, "[Rt%d]\n"
+ "Name=%s\n"
+ "Visible=1\n"
+ "Guid=%s\n",
+ rte_index,
+ rte->rte_name,
+ sguid
+ );
+ rte_index++;
+ rte_wpt_index = 0;
+}
+
+static void
+write_route_wpt_cb(const waypoint *wpt)
+{
+ int i;
+ char *name;
+ static char *items[] = {
+ "Cog",
+ "Eta",
+ "Length"
+ "PredictedDrift",
+ "PredictedSet",
+ "PredictedSog",
+ "PredictedTime",
+ "PredictedTwa2",
+ "PredictedTwd",
+ "PredictedTws" };
+
+ name = mkshort(hshort, wpt->shortname);
+ gbfprintf(fout, "Mk%d=%s\n", rte_wpt_index, name);
+ xfree(name);
+
+ for (i = 0; i < sizeof(items) / sizeof(char *); i++) {
+ gbfprintf(fout, "%s%d=%.15f\n", items[i], rte_wpt_index, 0.0);
+ }
+ rte_wpt_index++;
+}
+
+static void
+enum_route_hdr_cb(const route_head *rte)
+{
+ is_fatal(rte->rte_waypt_ct > 50,
+ MYNAME ": Routes with more than 50 points are not supported by Waymarine!");
+}
+
+static void
+enum_route_wpt_cb(const waypoint *wpt)
+{
+ register_waypoint(wpt);
+}
+
+static void
+raymarine_wr_init(const char *fname)
+{
+ fout = gbfopen(fname, "w", MYNAME);
+
+ hshort = mkshort_new_handle();
+ setshort_length(hshort, 16);
+
+ setshort_badchars(hshort, ",");
+ setshort_mustupper(hshort, 0);
+ setshort_mustuniq(hshort, 0);
+ setshort_whitespace_ok(hshort, 1);
+ setshort_repeating_whitespace_ok(hshort, 1);
+}
+
+static void
+raymarine_wr_done(void)
+{
+ mkshort_del_handle(&hshort);
+ gbfclose(fout);
+}
+
+static void
+raymarine_write(void)
+{
+ int i;
+ queue *elem, *tmp;
+ extern queue waypt_head;
+ guid_t guid;
+
+ size_of_depot = 0;
+ items_in_depot = 0;
+ depot = NULL;
+ guid = mkGUID();
+ sguid = GUID2str(guid);
+
+ /* enumerate all possible waypoints */
+ QUEUE_FOR_EACH(&waypt_head, elem, tmp) {
+ waypoint *wpt = (waypoint *) elem;
+ register_waypoint(wpt);
+ }
+ route_disp_all(enum_route_hdr_cb, NULL, enum_route_wpt_cb);
+
+ /* write out waypoint summary */
+ for (i = 0; i < items_in_depot; i++) {
+ waypoint *wpt = depot[i];
+ write_waypoint(fout, wpt, i, opt_location, sguid);
+ }
+
+ /* write out all routes with their waypoints */
+ rte_index = 0;
+ route_disp_all(write_route_head_cb, NULL, write_route_wpt_cb);
+
+ if (depot != NULL) xfree(depot);
+ xfree(sguid);
+}
+
+/* ================================================== */
+/* %%% M O D U L E R E G I S T R A T I O N %%% */
+/* ================================================== */
+
+ff_vecs_t raymarine_vecs = {
+ ff_type_file,
+ {
+ ff_cap_read | ff_cap_write /* waypoints */,
+ ff_cap_none /* tracks */,
+ ff_cap_read | ff_cap_write /* routes */,
+ },
+ raymarine_rd_init,
+ raymarine_wr_init,
+ raymarine_rd_done,
+ raymarine_wr_done,
+ raymarine_read,
+ raymarine_write,
+ NULL,
+ raymarine_args,
+ CET_CHARSET_ASCII, 0
+};
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<gpx
+ version="1.0"
+creator="GPSBabel - http://www.gpsbabel.org"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns="http://www.topografix.com/GPX/1/0"
+xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
+<time>1970-01-01T00:00:00Z</time>
+<bounds minlat="28.649722222" minlon="-17.973583333" maxlat="28.706111111" maxlon="-17.926500000"/>
+<trk>
+ <name>FH-DRIVE</name>
+<trkseg>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>-4542.400000</ele>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>654.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>656.000000</ele>
+ <speed>0.527778</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>657.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.948972222">
+ <ele>658.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>658.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>661.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>659.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>660.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>656.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>657.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>656.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>655.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>658.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>657.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>656.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>659.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>658.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>660.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>661.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>660.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949000000">
+ <ele>657.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>656.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>657.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.948972222">
+ <ele>656.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>656.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.948972222">
+ <ele>658.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949000000">
+ <ele>657.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697833333" lon="-17.949027778">
+ <ele>661.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697805556" lon="-17.949138889">
+ <ele>659.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697750000" lon="-17.949333333">
+ <ele>654.800000</ele>
+ <speed>2.000000</speed>
+</trkpt>
+<trkpt lat="28.697750000" lon="-17.949555556">
+ <ele>650.200000</ele>
+ <speed>2.388889</speed>
+</trkpt>
+<trkpt lat="28.697638889" lon="-17.949527778">
+ <ele>645.800000</ele>
+ <speed>1.888889</speed>
+</trkpt>
+<trkpt lat="28.697444444" lon="-17.949305556">
+ <ele>642.600000</ele>
+ <speed>2.861111</speed>
+</trkpt>
+<trkpt lat="28.697138889" lon="-17.949138889">
+ <ele>645.000000</ele>
+ <speed>3.194444</speed>
+</trkpt>
+<trkpt lat="28.696805556" lon="-17.948972222">
+ <ele>647.400000</ele>
+ <speed>4.083333</speed>
+</trkpt>
+<trkpt lat="28.696527778" lon="-17.949027778">
+ <ele>647.800000</ele>
+ <speed>3.805556</speed>
+</trkpt>
+<trkpt lat="28.696277778" lon="-17.949222222">
+ <ele>646.600000</ele>
+ <speed>2.833333</speed>
+</trkpt>
+<trkpt lat="28.696333333" lon="-17.949444444">
+ <ele>642.200000</ele>
+ <speed>3.055556</speed>
+</trkpt>
+<trkpt lat="28.696611111" lon="-17.949500000">
+ <ele>637.800000</ele>
+ <speed>2.722222</speed>
+</trkpt>
+<trkpt lat="28.696805556" lon="-17.949638889">
+ <ele>631.000000</ele>
+ <speed>2.944444</speed>
+</trkpt>
+<trkpt lat="28.696750000" lon="-17.950000000">
+ <ele>625.000000</ele>
+ <speed>2.666667</speed>
+</trkpt>
+<trkpt lat="28.696750000" lon="-17.950194444">
+ <ele>621.800000</ele>
+ <speed>3.333333</speed>
+</trkpt>
+<trkpt lat="28.696750000" lon="-17.950194444">
+ <ele>618.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.696750000" lon="-17.950194444">
+ <ele>615.600000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+ <name>30-12-05</name>
+ <desc>PIRATENBUCH</desc>
+<number>1</number>
+<trkseg>
+<trkpt lat="28.697861111" lon="-17.949583333">
+ <ele>-4542.400000</ele>
+</trkpt>
+<trkpt lat="28.697944444" lon="-17.949555556">
+ <ele>653.000000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.698027778" lon="-17.949555556">
+ <ele>651.000000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.698083333" lon="-17.949527778">
+ <ele>654.200000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.698111111" lon="-17.949527778">
+ <ele>650.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698111111" lon="-17.949527778">
+ <ele>648.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698138889" lon="-17.949527778">
+ <ele>651.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698250000" lon="-17.949555556">
+ <ele>649.800000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.698333333" lon="-17.949638889">
+ <ele>644.400000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.698416667" lon="-17.949694444">
+ <ele>645.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.698500000" lon="-17.949694444">
+ <ele>647.000000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.698611111" lon="-17.949666667">
+ <ele>645.600000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.698694444" lon="-17.949694444">
+ <ele>643.400000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.698777778" lon="-17.949722222">
+ <ele>639.800000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.698861111" lon="-17.949750000">
+ <ele>639.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.698861111" lon="-17.949777778">
+ <ele>640.400000</ele>
+ <speed>0.666667</speed>
+</trkpt>
+<trkpt lat="28.698888889" lon="-17.949805556">
+ <ele>647.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698944444" lon="-17.949777778">
+ <ele>649.400000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.699027778" lon="-17.949722222">
+ <ele>648.800000</ele>
+ <speed>1.722222</speed>
+</trkpt>
+<trkpt lat="28.699083333" lon="-17.949666667">
+ <ele>646.200000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.699083333" lon="-17.949694444">
+ <ele>642.800000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.699111111" lon="-17.949666667">
+ <ele>639.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699166667" lon="-17.949611111">
+ <ele>635.400000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.699194444" lon="-17.949527778">
+ <ele>631.400000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.699250000" lon="-17.949416667">
+ <ele>625.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.699277778" lon="-17.949361111">
+ <ele>623.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.699277778" lon="-17.949361111">
+ <ele>624.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699305556" lon="-17.949361111">
+ <ele>624.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699277778" lon="-17.949361111">
+ <ele>625.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699333333" lon="-17.949305556">
+ <ele>625.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699333333" lon="-17.949361111">
+ <ele>623.800000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.699305556" lon="-17.949500000">
+ <ele>626.000000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.699361111" lon="-17.949638889">
+ <ele>625.800000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.699416667" lon="-17.949750000">
+ <ele>629.000000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.699416667" lon="-17.949777778">
+ <ele>628.200000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.699444444" lon="-17.949916667">
+ <ele>626.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699444444" lon="-17.949972222">
+ <ele>625.800000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.699500000" lon="-17.950027778">
+ <ele>624.800000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.699555556" lon="-17.950138889">
+ <ele>622.600000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.699583333" lon="-17.950166667">
+ <ele>621.400000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.699666667" lon="-17.950222222">
+ <ele>623.200000</ele>
+ <speed>0.666667</speed>
+</trkpt>
+<trkpt lat="28.699722222" lon="-17.950250000">
+ <ele>623.000000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.699833333" lon="-17.950250000">
+ <ele>621.200000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.699916667" lon="-17.950277778">
+ <ele>619.400000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.699972222" lon="-17.950250000">
+ <ele>621.000000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.699944444" lon="-17.950277778">
+ <ele>621.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699972222" lon="-17.950444444">
+ <ele>622.200000</ele>
+ <speed>1.583333</speed>
+</trkpt>
+<trkpt lat="28.700027778" lon="-17.950527778">
+ <ele>622.200000</ele>
+ <speed>1.583333</speed>
+</trkpt>
+<trkpt lat="28.700111111" lon="-17.950444444">
+ <ele>625.400000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.700138889" lon="-17.950388889">
+ <ele>618.400000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.700222222" lon="-17.950333333">
+ <ele>617.200000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.700305556" lon="-17.950277778">
+ <ele>615.200000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.700388889" lon="-17.950250000">
+ <ele>616.200000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.700444444" lon="-17.950250000">
+ <ele>616.000000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.700527778" lon="-17.950222222">
+ <ele>613.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.950111111">
+ <ele>609.200000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.950083333">
+ <ele>607.600000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.950138889">
+ <ele>604.800000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.700750000" lon="-17.950166667">
+ <ele>606.400000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.950250000">
+ <ele>609.600000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.950333333">
+ <ele>614.200000</ele>
+ <speed>0.750000</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.950444444">
+ <ele>618.800000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.950527778">
+ <ele>619.400000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.950583333">
+ <ele>621.800000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.950583333">
+ <ele>623.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.950694444">
+ <ele>625.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.950750000">
+ <ele>629.600000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.950805556">
+ <ele>628.600000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.950833333">
+ <ele>624.200000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.700694444" lon="-17.950861111">
+ <ele>625.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700694444" lon="-17.950833333">
+ <ele>623.800000</ele>
+ <speed>0.583333</speed>
+</trkpt>
+<trkpt lat="28.700694444" lon="-17.950805556">
+ <ele>607.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.950861111">
+ <ele>597.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.950944444">
+ <ele>613.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700777778" lon="-17.951000000">
+ <ele>621.400000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.700750000" lon="-17.951083333">
+ <ele>618.600000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.951166667">
+ <ele>618.200000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.951166667">
+ <ele>615.800000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951194444">
+ <ele>615.600000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951138889">
+ <ele>614.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951138889">
+ <ele>623.000000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951138889">
+ <ele>630.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951111111">
+ <ele>626.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.951111111">
+ <ele>624.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700916667" lon="-17.951111111">
+ <ele>627.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701027778" lon="-17.951138889">
+ <ele>627.000000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.951166667">
+ <ele>625.200000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.701138889" lon="-17.951166667">
+ <ele>624.400000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.701138889" lon="-17.951166667">
+ <ele>624.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.951166667">
+ <ele>623.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.951166667">
+ <ele>621.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.951138889">
+ <ele>618.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.951138889">
+ <ele>614.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701194444" lon="-17.951111111">
+ <ele>618.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701305556" lon="-17.951138889">
+ <ele>621.200000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.701444444" lon="-17.951222222">
+ <ele>624.000000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.701583333" lon="-17.951305556">
+ <ele>623.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701750000" lon="-17.951361111">
+ <ele>626.600000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.701916667" lon="-17.951416667">
+ <ele>627.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.702055556" lon="-17.951472222">
+ <ele>626.200000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.702194444" lon="-17.951527778">
+ <ele>626.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.702305556" lon="-17.951583333">
+ <ele>628.800000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.702416667" lon="-17.951611111">
+ <ele>629.200000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.702555556" lon="-17.951611111">
+ <ele>629.200000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.702638889" lon="-17.951583333">
+ <ele>628.200000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.702694444" lon="-17.951555556">
+ <ele>627.400000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.702777778" lon="-17.951472222">
+ <ele>626.600000</ele>
+ <speed>0.750000</speed>
+</trkpt>
+<trkpt lat="28.702861111" lon="-17.951388889">
+ <ele>626.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.702944444" lon="-17.951277778">
+ <ele>626.600000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.703055556" lon="-17.951222222">
+ <ele>628.000000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.703166667" lon="-17.951222222">
+ <ele>629.600000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.703277778" lon="-17.951277778">
+ <ele>629.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.703361111" lon="-17.951388889">
+ <ele>629.400000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.703388889" lon="-17.951500000">
+ <ele>627.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.703416667" lon="-17.951638889">
+ <ele>627.200000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.703444444" lon="-17.951777778">
+ <ele>626.400000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.703472222" lon="-17.951916667">
+ <ele>625.600000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.703500000" lon="-17.951972222">
+ <ele>625.200000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.703500000" lon="-17.951916667">
+ <ele>621.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703500000" lon="-17.951944444">
+ <ele>613.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703527778" lon="-17.951972222">
+ <ele>618.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703138889" lon="-17.952277778">
+ <ele>623.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.702888889" lon="-17.952722222">
+ <ele>619.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.702666667" lon="-17.953194444">
+ <ele>606.200000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.702527778" lon="-17.953694444">
+ <ele>596.000000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.702500000" lon="-17.954000000">
+ <ele>595.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.702166667" lon="-17.954361111">
+ <ele>596.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701861111" lon="-17.954750000">
+ <ele>591.200000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.701638889" lon="-17.955222222">
+ <ele>572.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701305556" lon="-17.955583333">
+ <ele>555.200000</ele>
+ <speed>0.611111</speed>
+</trkpt>
+<trkpt lat="28.701000000" lon="-17.955972222">
+ <ele>550.800000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.956250000">
+ <ele>542.800000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.700222222" lon="-17.956527778">
+ <ele>545.000000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.699861111" lon="-17.956861111">
+ <ele>532.200000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.699638889" lon="-17.957305556">
+ <ele>521.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699666667" lon="-17.957833333">
+ <ele>513.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.699777778" lon="-17.958333333">
+ <ele>504.800000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.700111111" lon="-17.958694444">
+ <ele>503.400000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.700500000" lon="-17.958972222">
+ <ele>501.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.700777778" lon="-17.959388889">
+ <ele>501.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.700305556" lon="-17.959416667">
+ <ele>495.400000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.699916667" lon="-17.959694444">
+ <ele>487.000000</ele>
+ <speed>1.611111</speed>
+</trkpt>
+<trkpt lat="28.699611111" lon="-17.960083333">
+ <ele>481.800000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.699333333" lon="-17.960500000">
+ <ele>475.200000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.698861111" lon="-17.960500000">
+ <ele>475.200000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.698500000" lon="-17.960805556">
+ <ele>467.800000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.698777778" lon="-17.961222222">
+ <ele>458.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.699222222" lon="-17.961361111">
+ <ele>457.000000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.699694444" lon="-17.961416667">
+ <ele>448.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.699638889" lon="-17.961944444">
+ <ele>442.800000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.699527778" lon="-17.962444444">
+ <ele>433.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.699527778" lon="-17.962972222">
+ <ele>429.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699333333" lon="-17.963444444">
+ <ele>424.800000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.698944444" lon="-17.963722222">
+ <ele>411.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.698527778" lon="-17.963944444">
+ <ele>404.000000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.698111111" lon="-17.963750000">
+ <ele>395.800000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.697694444" lon="-17.963500000">
+ <ele>390.400000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.697277778" lon="-17.963750000">
+ <ele>386.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.696888889" lon="-17.963472222">
+ <ele>385.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.696666667" lon="-17.963000000">
+ <ele>391.400000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.696555556" lon="-17.963500000">
+ <ele>377.800000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.696583333" lon="-17.964027778">
+ <ele>370.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.696833333" lon="-17.964472222">
+ <ele>371.000000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.697027778" lon="-17.964944444">
+ <ele>363.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.697333333" lon="-17.965333333">
+ <ele>356.200000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.697694444" lon="-17.965694444">
+ <ele>349.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.698027778" lon="-17.966055556">
+ <ele>344.800000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.698111111" lon="-17.966583333">
+ <ele>341.800000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.698166667" lon="-17.967111111">
+ <ele>336.000000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.698361111" lon="-17.967583333">
+ <ele>320.600000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.698500000" lon="-17.968083333">
+ <ele>310.800000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.698583333" lon="-17.968611111">
+ <ele>299.200000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.698694444" lon="-17.968666667">
+ <ele>290.400000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.698694444" lon="-17.968666667">
+ <ele>284.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698694444" lon="-17.968666667">
+ <ele>283.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698694444" lon="-17.968666667">
+ <ele>283.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698722222" lon="-17.968666667">
+ <ele>281.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698722222" lon="-17.968666667">
+ <ele>276.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698750000" lon="-17.968722222">
+ <ele>277.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698777778" lon="-17.968194444">
+ <ele>292.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699027778" lon="-17.967750000">
+ <ele>278.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.699138889" lon="-17.967805556">
+ <ele>270.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699194444" lon="-17.968166667">
+ <ele>252.200000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.699416667" lon="-17.967833333">
+ <ele>246.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699555556" lon="-17.967805556">
+ <ele>223.400000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.699638889" lon="-17.967972222">
+ <ele>209.200000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.699555556" lon="-17.968333333">
+ <ele>177.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699722222" lon="-17.968277778">
+ <ele>193.800000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.699777778" lon="-17.968250000">
+ <ele>181.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699805556" lon="-17.968305556">
+ <ele>175.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699805556" lon="-17.968555556">
+ <ele>179.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699916667" lon="-17.968805556">
+ <ele>168.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699916667" lon="-17.969083333">
+ <ele>155.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699861111" lon="-17.969277778">
+ <ele>124.800000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.699388889" lon="-17.969222222">
+ <ele>126.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699861111" lon="-17.969277778">
+ <ele>123.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700361111" lon="-17.969305556">
+ <ele>125.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699972222" lon="-17.969388889">
+ <ele>90.800000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.699750000" lon="-17.969583333">
+ <ele>101.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699833333" lon="-17.969916667">
+ <ele>109.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.700055556" lon="-17.970027778">
+ <ele>73.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700083333" lon="-17.970388889">
+ <ele>66.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700250000" lon="-17.970194444">
+ <ele>56.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700472222" lon="-17.970194444">
+ <ele>44.800000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.970638889">
+ <ele>44.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700083333" lon="-17.971250000">
+ <ele>22.800000</ele>
+ <speed>1.638889</speed>
+</trkpt>
+<trkpt lat="28.700555556" lon="-17.971194444">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700027778" lon="-17.971277778">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.971333333">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701166667" lon="-17.971194444">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.971055556">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700361111" lon="-17.971388889">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700500000" lon="-17.971416667">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700472222" lon="-17.971333333">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.971333333">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700500000" lon="-17.971416667">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700444444" lon="-17.971361111">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700444444" lon="-17.971416667">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700555556" lon="-17.971361111">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700416667" lon="-17.971333333">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.971305556">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700250000" lon="-17.971722222">
+ <ele>24.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700416667" lon="-17.971444444">
+ <ele>117.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700555556" lon="-17.971250000">
+ <ele>54.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700472222" lon="-17.970500000">
+ <ele>41.000000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.700527778" lon="-17.969972222">
+ <ele>45.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.970027778">
+ <ele>40.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.970555556">
+ <ele>45.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700944444" lon="-17.970777778">
+ <ele>43.400000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.701333333" lon="-17.970750000">
+ <ele>49.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701388889" lon="-17.970333333">
+ <ele>69.800000</ele>
+ <speed>0.750000</speed>
+</trkpt>
+<trkpt lat="28.701611111" lon="-17.970416667">
+ <ele>101.800000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.701750000" lon="-17.970472222">
+ <ele>115.200000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.701916667" lon="-17.970111111">
+ <ele>125.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.702083333" lon="-17.970472222">
+ <ele>148.800000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.702250000" lon="-17.970666667">
+ <ele>164.800000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.702277778" lon="-17.970805556">
+ <ele>177.000000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.702000000" lon="-17.971222222">
+ <ele>173.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.702444444" lon="-17.971305556">
+ <ele>166.200000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.702861111" lon="-17.971500000">
+ <ele>144.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.702388889" lon="-17.971555556">
+ <ele>130.000000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.702583333" lon="-17.972055556">
+ <ele>131.600000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.703027778" lon="-17.972194444">
+ <ele>112.600000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.703055556" lon="-17.972444444">
+ <ele>101.200000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.702750000" lon="-17.972833333">
+ <ele>90.200000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.702750000" lon="-17.973361111">
+ <ele>72.600000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.702666667" lon="-17.973583333">
+ <ele>59.400000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.703027778" lon="-17.973583333">
+ <ele>41.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703277778" lon="-17.973138889">
+ <ele>14.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703694444" lon="-17.972861111">
+ <ele>8.800000</ele>
+ <speed>2.305556</speed>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+ <name>1-1-06</name>
+ <desc>TORRE TIME</desc>
+<number>2</number>
+<trkseg>
+<trkpt lat="28.697944444" lon="-17.949222222">
+ <ele>-4542.400000</ele>
+</trkpt>
+<trkpt lat="28.697916667" lon="-17.949250000">
+ <ele>653.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697944444" lon="-17.949250000">
+ <ele>657.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697944444" lon="-17.949222222">
+ <ele>654.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.697750000" lon="-17.949500000">
+ <ele>653.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698194444" lon="-17.949638889">
+ <ele>647.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.698638889" lon="-17.949750000">
+ <ele>646.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.699111111" lon="-17.949750000">
+ <ele>643.400000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.699361111" lon="-17.949277778">
+ <ele>636.800000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.699444444" lon="-17.949805556">
+ <ele>621.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.699722222" lon="-17.950222222">
+ <ele>619.800000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.700138889" lon="-17.950416667">
+ <ele>618.800000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.700527778" lon="-17.950138889">
+ <ele>618.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.950666667">
+ <ele>615.200000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.951138889">
+ <ele>615.000000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.701277778" lon="-17.951111111">
+ <ele>624.000000</ele>
+ <speed>0.611111</speed>
+</trkpt>
+<trkpt lat="28.701027778" lon="-17.950694444">
+ <ele>623.400000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.701250000" lon="-17.950222222">
+ <ele>640.000000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.701472222" lon="-17.949750000">
+ <ele>644.400000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.701472222" lon="-17.949722222">
+ <ele>652.000000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.701527778" lon="-17.949611111">
+ <ele>656.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701555556" lon="-17.949083333">
+ <ele>655.400000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.702027778" lon="-17.949027778">
+ <ele>665.200000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.701805556" lon="-17.948555556">
+ <ele>677.800000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.702055556" lon="-17.948111111">
+ <ele>684.400000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.702305556" lon="-17.947638889">
+ <ele>692.200000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.702388889" lon="-17.947111111">
+ <ele>696.200000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.702583333" lon="-17.946611111">
+ <ele>701.600000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.702777778" lon="-17.946138889">
+ <ele>712.400000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.703055556" lon="-17.945722222">
+ <ele>717.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.702583333" lon="-17.945666667">
+ <ele>718.400000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.702166667" lon="-17.945861111">
+ <ele>725.800000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.702000000" lon="-17.945750000">
+ <ele>752.000000</ele>
+ <speed>0.527778</speed>
+</trkpt>
+<trkpt lat="28.702472222" lon="-17.945722222">
+ <ele>745.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.702916667" lon="-17.945583333">
+ <ele>735.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.702805556" lon="-17.946083333">
+ <ele>727.600000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.702666667" lon="-17.946583333">
+ <ele>726.400000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.702972222" lon="-17.946194444">
+ <ele>710.600000</ele>
+ <speed>0.500000</speed>
+</trkpt>
+<trkpt lat="28.703250000" lon="-17.945777778">
+ <ele>727.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.703277778" lon="-17.945805556">
+ <ele>738.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703277778" lon="-17.945777778">
+ <ele>735.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.703500000" lon="-17.945305556">
+ <ele>738.800000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.703694444" lon="-17.944833333">
+ <ele>748.200000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.703944444" lon="-17.944388889">
+ <ele>754.800000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.704027778" lon="-17.943861111">
+ <ele>767.000000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.704444444" lon="-17.943638889">
+ <ele>774.000000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.704750000" lon="-17.943722222">
+ <ele>780.600000</ele>
+ <speed>0.694444</speed>
+</trkpt>
+<trkpt lat="28.705111111" lon="-17.943583333">
+ <ele>802.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.705416667" lon="-17.943194444">
+ <ele>802.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.705694444" lon="-17.942777778">
+ <ele>814.200000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.706111111" lon="-17.942527778">
+ <ele>817.400000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.705916667" lon="-17.942027778">
+ <ele>826.600000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.705472222" lon="-17.942111111">
+ <ele>835.000000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.705111111" lon="-17.942472222">
+ <ele>841.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.705055556" lon="-17.941944444">
+ <ele>846.200000</ele>
+ <speed>2.250000</speed>
+</trkpt>
+<trkpt lat="28.704972222" lon="-17.941416667">
+ <ele>855.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.704972222" lon="-17.940888889">
+ <ele>857.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.704916667" lon="-17.940361111">
+ <ele>862.800000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.704916667" lon="-17.939833333">
+ <ele>871.000000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.705055556" lon="-17.939333333">
+ <ele>883.800000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.705111111" lon="-17.938805556">
+ <ele>890.400000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.705222222" lon="-17.938277778">
+ <ele>902.800000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.705277778" lon="-17.937750000">
+ <ele>906.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.705333333" lon="-17.937222222">
+ <ele>918.600000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.705527778" lon="-17.936750000">
+ <ele>928.200000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.705444444" lon="-17.936222222">
+ <ele>942.800000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.705500000" lon="-17.935694444">
+ <ele>947.800000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.705527778" lon="-17.935166667">
+ <ele>955.200000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.705666667" lon="-17.934666667">
+ <ele>970.800000</ele>
+ <speed>0.916667</speed>
+</trkpt>
+<trkpt lat="28.705694444" lon="-17.934138889">
+ <ele>981.800000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.705722222" lon="-17.933611111">
+ <ele>988.800000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.705694444" lon="-17.933083333">
+ <ele>1001.400000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.705444444" lon="-17.932638889">
+ <ele>1009.600000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.705277778" lon="-17.932555556">
+ <ele>1013.200000</ele>
+ <speed>1.944444</speed>
+</trkpt>
+<trkpt lat="28.705027778" lon="-17.932111111">
+ <ele>1017.200000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.704583333" lon="-17.931944444">
+ <ele>1010.600000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.704527778" lon="-17.932472222">
+ <ele>1006.000000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.704111111" lon="-17.932666667">
+ <ele>1006.000000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.703805556" lon="-17.933055556">
+ <ele>1009.200000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.703388889" lon="-17.933250000">
+ <ele>1002.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.703027778" lon="-17.933555556">
+ <ele>996.200000</ele>
+ <speed>0.583333</speed>
+</trkpt>
+<trkpt lat="28.702777778" lon="-17.933111111">
+ <ele>992.000000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.702583333" lon="-17.932611111">
+ <ele>978.400000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.702166667" lon="-17.932861111">
+ <ele>974.800000</ele>
+ <speed>1.666667</speed>
+</trkpt>
+<trkpt lat="28.701861111" lon="-17.933250000">
+ <ele>974.800000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.701416667" lon="-17.933361111">
+ <ele>974.400000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.700944444" lon="-17.933388889">
+ <ele>971.000000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.933305556">
+ <ele>969.400000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.933305556">
+ <ele>966.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.933333333">
+ <ele>971.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.933166667">
+ <ele>967.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.932638889">
+ <ele>964.800000</ele>
+ <speed>0.666667</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.931805556">
+ <ele>952.800000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.700555556" lon="-17.932861111">
+ <ele>1045.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700416667" lon="-17.933916667">
+ <ele>952.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700527778" lon="-17.933222222">
+ <ele>829.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.932250000">
+ <ele>892.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.933000000">
+ <ele>1031.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700500000" lon="-17.933555556">
+ <ele>938.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700611111" lon="-17.932833333">
+ <ele>868.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.931888889">
+ <ele>955.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700638889" lon="-17.932722222">
+ <ele>1050.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.931972222">
+ <ele>948.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700722222" lon="-17.932694444">
+ <ele>1025.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701416667" lon="-17.932055556">
+ <ele>957.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.932583333">
+ <ele>952.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700388889" lon="-17.932333333">
+ <ele>942.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699972222" lon="-17.932111111">
+ <ele>943.800000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.698750000" lon="-17.932194444">
+ <ele>938.800000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.698388889" lon="-17.931861111">
+ <ele>939.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.698194444" lon="-17.932333333">
+ <ele>945.000000</ele>
+ <speed>1.805556</speed>
+</trkpt>
+<trkpt lat="28.697861111" lon="-17.932694444">
+ <ele>950.000000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.697388889" lon="-17.932666667">
+ <ele>961.200000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.696916667" lon="-17.932666667">
+ <ele>968.800000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.696638889" lon="-17.932250000">
+ <ele>971.200000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.696444444" lon="-17.931777778">
+ <ele>967.400000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.696138889" lon="-17.931388889">
+ <ele>966.600000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.696111111" lon="-17.930861111">
+ <ele>961.400000</ele>
+ <speed>0.722222</speed>
+</trkpt>
+<trkpt lat="28.696055556" lon="-17.930333333">
+ <ele>968.800000</ele>
+ <speed>0.750000</speed>
+</trkpt>
+<trkpt lat="28.695277778" lon="-17.931305556">
+ <ele>968.000000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.696388889" lon="-17.931111111">
+ <ele>967.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694972222" lon="-17.930861111">
+ <ele>967.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694861111" lon="-17.930361111">
+ <ele>937.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694694444" lon="-17.929861111">
+ <ele>1009.200000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.694166667" lon="-17.930305556">
+ <ele>1010.000000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.693694444" lon="-17.930277778">
+ <ele>1009.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.693805556" lon="-17.929777778">
+ <ele>996.800000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.693444444" lon="-17.929444444">
+ <ele>1000.600000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.693555556" lon="-17.928944444">
+ <ele>1013.000000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.693500000" lon="-17.928416667">
+ <ele>1013.400000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.692805556" lon="-17.928000000">
+ <ele>1018.200000</ele>
+ <speed>0.555556</speed>
+</trkpt>
+<trkpt lat="28.692750000" lon="-17.927472222">
+ <ele>1017.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.692305556" lon="-17.927638889">
+ <ele>1029.000000</ele>
+ <speed>0.888889</speed>
+</trkpt>
+<trkpt lat="28.692250000" lon="-17.928166667">
+ <ele>1028.600000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.691805556" lon="-17.928333333">
+ <ele>1028.600000</ele>
+ <speed>1.722222</speed>
+</trkpt>
+<trkpt lat="28.691444444" lon="-17.928638889">
+ <ele>1034.400000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.691305556" lon="-17.928138889">
+ <ele>1034.400000</ele>
+ <speed>1.583333</speed>
+</trkpt>
+<trkpt lat="28.690861111" lon="-17.928250000">
+ <ele>1034.200000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.690527778" lon="-17.927888889">
+ <ele>1037.000000</ele>
+ <speed>1.583333</speed>
+</trkpt>
+<trkpt lat="28.690055556" lon="-17.927916667">
+ <ele>1032.000000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.689638889" lon="-17.927694444">
+ <ele>1024.800000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.689277778" lon="-17.927333333">
+ <ele>1025.000000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.688833333" lon="-17.927194444">
+ <ele>1022.600000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.688916667" lon="-17.926916667">
+ <ele>1023.000000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.689277778" lon="-17.926611111">
+ <ele>1039.800000</ele>
+ <speed>0.833333</speed>
+</trkpt>
+<trkpt lat="28.689361111" lon="-17.926527778">
+ <ele>1056.600000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.689388889" lon="-17.926500000">
+ <ele>1061.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689333333" lon="-17.926527778">
+ <ele>1065.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689361111" lon="-17.926527778">
+ <ele>1056.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689333333" lon="-17.926527778">
+ <ele>1060.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689361111" lon="-17.926527778">
+ <ele>1057.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689194444" lon="-17.926638889">
+ <ele>1058.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.688861111" lon="-17.926944444">
+ <ele>1047.800000</ele>
+ <speed>0.666667</speed>
+</trkpt>
+<trkpt lat="28.688888889" lon="-17.927277778">
+ <ele>1045.200000</ele>
+ <speed>0.527778</speed>
+</trkpt>
+<trkpt lat="28.689333333" lon="-17.927361111">
+ <ele>1049.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.689694444" lon="-17.927666667">
+ <ele>1030.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.690111111" lon="-17.927916667">
+ <ele>1027.600000</ele>
+ <speed>1.638889</speed>
+</trkpt>
+<trkpt lat="28.690583333" lon="-17.927944444">
+ <ele>1033.800000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.690888889" lon="-17.928333333">
+ <ele>1035.600000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.691305556" lon="-17.928111111">
+ <ele>1030.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.691722222" lon="-17.928305556">
+ <ele>1029.600000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.692166667" lon="-17.928444444">
+ <ele>1029.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.692222222" lon="-17.927888889">
+ <ele>1029.600000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.692583333" lon="-17.927555556">
+ <ele>1030.200000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.692888889" lon="-17.927972222">
+ <ele>1024.200000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.693222222" lon="-17.928333333">
+ <ele>1016.600000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.693611111" lon="-17.928611111">
+ <ele>1016.600000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.693500000" lon="-17.929111111">
+ <ele>1016.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.693777778" lon="-17.929527778">
+ <ele>1020.800000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.693722222" lon="-17.930055556">
+ <ele>1019.400000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.693972222" lon="-17.930527778">
+ <ele>1019.400000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.693444444" lon="-17.930444444">
+ <ele>1018.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694222222" lon="-17.930388889">
+ <ele>1018.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694583333" lon="-17.930055556">
+ <ele>1018.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.694861111" lon="-17.930472222">
+ <ele>1000.200000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.695250000" lon="-17.930750000">
+ <ele>1004.000000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.695416667" lon="-17.931250000">
+ <ele>1005.600000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.695777778" lon="-17.930944444">
+ <ele>1004.800000</ele>
+ <speed>0.805556</speed>
+</trkpt>
+<trkpt lat="28.695972222" lon="-17.930444444">
+ <ele>987.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.696361111" lon="-17.930722222">
+ <ele>977.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.696250000" lon="-17.931555556">
+ <ele>977.600000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.696611111" lon="-17.931888889">
+ <ele>962.400000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.696722222" lon="-17.932388889">
+ <ele>962.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.697027778" lon="-17.932777778">
+ <ele>962.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.697500000" lon="-17.932833333">
+ <ele>966.800000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.697944444" lon="-17.932750000">
+ <ele>968.600000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.698277778" lon="-17.932388889">
+ <ele>962.200000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.698472222" lon="-17.932055556">
+ <ele>954.400000</ele>
+ <speed>0.666667</speed>
+</trkpt>
+<trkpt lat="28.698722222" lon="-17.932222222">
+ <ele>941.200000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.699111111" lon="-17.931944444">
+ <ele>946.000000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.699555556" lon="-17.931861111">
+ <ele>933.800000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.700000000" lon="-17.932055556">
+ <ele>933.600000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.700333333" lon="-17.932416667">
+ <ele>937.600000</ele>
+ <speed>1.638889</speed>
+</trkpt>
+<trkpt lat="28.700888889" lon="-17.932416667">
+ <ele>930.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.700777778" lon="-17.932666667">
+ <ele>933.200000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700750000" lon="-17.932722222">
+ <ele>937.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700555556" lon="-17.933194444">
+ <ele>943.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.933277778">
+ <ele>928.800000</ele>
+ <speed>0.611111</speed>
+</trkpt>
+<trkpt lat="28.700916667" lon="-17.933361111">
+ <ele>944.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700888889" lon="-17.933333333">
+ <ele>959.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700805556" lon="-17.933361111">
+ <ele>957.000000</ele>
+ <speed>0.638889</speed>
+</trkpt>
+<trkpt lat="28.701222222" lon="-17.933583333">
+ <ele>963.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.701666667" lon="-17.933416667">
+ <ele>967.800000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.702083333" lon="-17.933222222">
+ <ele>961.400000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.702388889" lon="-17.932833333">
+ <ele>960.800000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.702805556" lon="-17.933083333">
+ <ele>964.000000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.702944444" lon="-17.933583333">
+ <ele>964.800000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.703194444" lon="-17.934027778">
+ <ele>967.800000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.703472222" lon="-17.934444444">
+ <ele>975.400000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.703833333" lon="-17.934138889">
+ <ele>971.000000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.703833333" lon="-17.934750000">
+ <ele>961.800000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.704027778" lon="-17.935222222">
+ <ele>958.400000</ele>
+ <speed>1.666667</speed>
+</trkpt>
+<trkpt lat="28.704111111" lon="-17.935750000">
+ <ele>952.800000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+<trkpt lat="28.704361111" lon="-17.936194444">
+ <ele>945.400000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.704777778" lon="-17.936388889">
+ <ele>940.800000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.704472222" lon="-17.936861111">
+ <ele>938.800000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.704000000" lon="-17.936861111">
+ <ele>911.000000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.703833333" lon="-17.936361111">
+ <ele>918.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.703583333" lon="-17.936805556">
+ <ele>920.400000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.703305556" lon="-17.937222222">
+ <ele>914.800000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.702861111" lon="-17.937361111">
+ <ele>911.200000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.702500000" lon="-17.937694444">
+ <ele>900.200000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.702111111" lon="-17.937972222">
+ <ele>896.000000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.701638889" lon="-17.937972222">
+ <ele>891.600000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.701194444" lon="-17.937861111">
+ <ele>884.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700888889" lon="-17.937472222">
+ <ele>882.200000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.701000000" lon="-17.936972222">
+ <ele>883.000000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.700666667" lon="-17.936611111">
+ <ele>879.600000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.700194444" lon="-17.936694444">
+ <ele>880.000000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.699722222" lon="-17.936694444">
+ <ele>883.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699444444" lon="-17.937111111">
+ <ele>885.200000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.699000000" lon="-17.937194444">
+ <ele>870.200000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.698555556" lon="-17.937027778">
+ <ele>860.400000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.698138889" lon="-17.937277778">
+ <ele>863.200000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.698583333" lon="-17.937388889">
+ <ele>856.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.698777778" lon="-17.937861111">
+ <ele>843.400000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.698944444" lon="-17.938361111">
+ <ele>839.000000</ele>
+ <speed>1.527778</speed>
+</trkpt>
+<trkpt lat="28.699388889" lon="-17.938277778">
+ <ele>833.200000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.699750000" lon="-17.937944444">
+ <ele>828.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.699805556" lon="-17.938472222">
+ <ele>828.600000</ele>
+ <speed>1.611111</speed>
+</trkpt>
+<trkpt lat="28.699888889" lon="-17.939000000">
+ <ele>827.400000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.700000000" lon="-17.939500000">
+ <ele>820.600000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.700138889" lon="-17.940000000">
+ <ele>806.600000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.700111111" lon="-17.940527778">
+ <ele>810.800000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.699972222" lon="-17.941027778">
+ <ele>806.200000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.699916667" lon="-17.941555556">
+ <ele>805.000000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.700138889" lon="-17.942055556">
+ <ele>802.200000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.942138889">
+ <ele>797.200000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.700833333" lon="-17.942583333">
+ <ele>793.600000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.700916667" lon="-17.943111111">
+ <ele>785.800000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.700750000" lon="-17.943611111">
+ <ele>777.400000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.700472222" lon="-17.944027778">
+ <ele>778.000000</ele>
+ <speed>1.305556</speed>
+</trkpt>
+<trkpt lat="28.700361111" lon="-17.944527778">
+ <ele>776.200000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.700333333" lon="-17.945055556">
+ <ele>780.200000</ele>
+ <speed>1.666667</speed>
+</trkpt>
+<trkpt lat="28.700444444" lon="-17.945555556">
+ <ele>785.400000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.700861111" lon="-17.945750000">
+ <ele>782.200000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.701305556" lon="-17.945638889">
+ <ele>773.600000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.701555556" lon="-17.945194444">
+ <ele>772.000000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.701888889" lon="-17.945555556">
+ <ele>777.800000</ele>
+ <speed>1.472222</speed>
+</trkpt>
+<trkpt lat="28.702250000" lon="-17.945861111">
+ <ele>759.600000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.702666667" lon="-17.945666667">
+ <ele>753.600000</ele>
+ <speed>1.388889</speed>
+</trkpt>
+<trkpt lat="28.702750000" lon="-17.946194444">
+ <ele>754.800000</ele>
+ <speed>1.444444</speed>
+</trkpt>
+<trkpt lat="28.702527778" lon="-17.946666667">
+ <ele>742.600000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.702333333" lon="-17.947138889">
+ <ele>735.800000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.702250000" lon="-17.947666667">
+ <ele>727.000000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.702000000" lon="-17.948111111">
+ <ele>722.600000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.701750000" lon="-17.948555556">
+ <ele>719.400000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.702083333" lon="-17.948916667">
+ <ele>710.400000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.701611111" lon="-17.948972222">
+ <ele>688.800000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.701500000" lon="-17.949472222">
+ <ele>677.400000</ele>
+ <speed>1.166667</speed>
+</trkpt>
+<trkpt lat="28.701361111" lon="-17.949972222">
+ <ele>671.600000</ele>
+ <speed>0.861111</speed>
+</trkpt>
+<trkpt lat="28.701111111" lon="-17.950416667">
+ <ele>664.200000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.701138889" lon="-17.950944444">
+ <ele>655.200000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.700777778" lon="-17.950944444">
+ <ele>648.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.700583333" lon="-17.950472222">
+ <ele>622.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.700138889" lon="-17.950305556">
+ <ele>615.600000</ele>
+ <speed>1.055556</speed>
+</trkpt>
+<trkpt lat="28.699750000" lon="-17.950027778">
+ <ele>620.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.699416667" lon="-17.949666667">
+ <ele>618.000000</ele>
+ <speed>1.555556</speed>
+</trkpt>
+<trkpt lat="28.698972222" lon="-17.949777778">
+ <ele>620.800000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.698500000" lon="-17.949722222">
+ <ele>624.400000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.698055556" lon="-17.949555556">
+ <ele>626.200000</ele>
+ <speed>0.972222</speed>
+</trkpt>
+<trkpt lat="28.697861111" lon="-17.949083333">
+ <ele>634.400000</ele>
+ <speed>1.000000</speed>
+</trkpt>
+</trkseg>
+</trk>
+<trk>
+ <name>2-1-06</name>
+ <desc>TAZACORTE</desc>
+<number>3</number>
+<trkseg>
+<trkpt lat="28.663388889" lon="-17.942472222">
+ <ele>-4542.400000</ele>
+</trkpt>
+<trkpt lat="28.663444444" lon="-17.942444444">
+ <ele>518.600000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.663444444" lon="-17.942444444">
+ <ele>525.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.663805556" lon="-17.942500000">
+ <ele>530.400000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.663527778" lon="-17.942916667">
+ <ele>530.800000</ele>
+ <speed>1.111111</speed>
+</trkpt>
+<trkpt lat="28.663055556" lon="-17.942916667">
+ <ele>507.000000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.662583333" lon="-17.942916667">
+ <ele>509.200000</ele>
+ <speed>1.361111</speed>
+</trkpt>
+<trkpt lat="28.662138889" lon="-17.943027778">
+ <ele>507.800000</ele>
+ <speed>2.638889</speed>
+</trkpt>
+<trkpt lat="28.661694444" lon="-17.943194444">
+ <ele>495.200000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.661250000" lon="-17.943333333">
+ <ele>492.200000</ele>
+ <speed>1.333333</speed>
+</trkpt>
+<trkpt lat="28.660805556" lon="-17.943472222">
+ <ele>486.200000</ele>
+ <speed>1.194444</speed>
+</trkpt>
+<trkpt lat="28.660361111" lon="-17.943583333">
+ <ele>478.800000</ele>
+ <speed>1.638889</speed>
+</trkpt>
+<trkpt lat="28.659888889" lon="-17.943555556">
+ <ele>464.400000</ele>
+ <speed>0.944444</speed>
+</trkpt>
+<trkpt lat="28.659638889" lon="-17.943500000">
+ <ele>454.200000</ele>
+ <speed>1.027778</speed>
+</trkpt>
+<trkpt lat="28.659250000" lon="-17.943777778">
+ <ele>457.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.658861111" lon="-17.944055556">
+ <ele>432.400000</ele>
+ <speed>0.777778</speed>
+</trkpt>
+<trkpt lat="28.658472222" lon="-17.944333333">
+ <ele>415.000000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+<trkpt lat="28.658333333" lon="-17.944833333">
+ <ele>406.000000</ele>
+ <speed>1.250000</speed>
+</trkpt>
+<trkpt lat="28.658777778" lon="-17.945000000">
+ <ele>392.600000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.658916667" lon="-17.945500000">
+ <ele>390.200000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.658555556" lon="-17.945833333">
+ <ele>377.000000</ele>
+ <speed>1.277778</speed>
+</trkpt>
+<trkpt lat="28.658194444" lon="-17.946194444">
+ <ele>368.800000</ele>
+ <speed>1.138889</speed>
+</trkpt>
+<trkpt lat="28.657916667" lon="-17.946611111">
+ <ele>351.400000</ele>
+ <speed>1.416667</speed>
+</trkpt>
+<trkpt lat="28.657611111" lon="-17.947000000">
+ <ele>341.000000</ele>
+ <speed>1.222222</speed>
+</trkpt>
+<trkpt lat="28.657194444" lon="-17.947194444">
+ <ele>331.400000</ele>
+ <speed>1.083333</speed>
+</trkpt>
+<trkpt lat="28.652027778" lon="-17.946500000">
+ <ele>328.000000</ele>
+ <speed>1.500000</speed>
+</trkpt>
+<trkpt lat="28.649722222" lon="-17.946305556">
+ <ele>327.800000</ele>
+ <speed>0.000000</speed>
+</trkpt>
+</trkseg>
+</trk>
+</gpx>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<gpx
+ version="1.0"
+creator="GPSBabel - http://www.gpsbabel.org"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns="http://www.topografix.com/GPX/1/0"
+xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
+<time>1970-01-01T00:00:00Z</time>
+<bounds minlat="28.455250000" minlon="-17.980111111" maxlat="47.650694444" maxlon="9.483111111"/>
+<wpt lat="47.650694444" lon="9.483111111">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Home</name>
+ <cmt>Sweet_Home</cmt>
+ <desc>Sweet_Home</desc>
+</wpt>
+<wpt lat="28.620472222" lon="-17.752805556">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Airport</name>
+ <cmt>Santa_Cruz</cmt>
+ <desc>Santa_Cruz</desc>
+</wpt>
+<wpt lat="28.830361111" lon="-17.803222222">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GAS001</name>
+ <cmt>Barlovento</cmt>
+ <desc>Barlovento</desc>
+</wpt>
+<wpt lat="28.763444444" lon="-17.977722222">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GAS002</name>
+ <cmt>Puntagorda</cmt>
+ <desc>Puntagorda</desc>
+</wpt>
+<wpt lat="28.766000000" lon="-17.980111111">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Police</name>
+ <cmt>Puntagorda</cmt>
+ <desc>Puntagorda</desc>
+</wpt>
+<wpt lat="28.689583333" lon="-17.767472222">
+<time>2005-12-27T16:09:39Z</time>
+ <name>SMrkt01</name>
+ <cmt>Santa_Cruz</cmt>
+ <desc>Santa_Cruz</desc>
+</wpt>
+<wpt lat="28.651083333" lon="-17.881027778">
+<time>2005-12-27T16:09:39Z</time>
+ <name>SMrkt02</name>
+ <cmt>El_Paso</cmt>
+ <desc>El_Paso</desc>
+</wpt>
+<wpt lat="28.778305556" lon="-17.906250000">
+<time>2005-12-27T16:09:39Z</time>
+ <name>PARK01</name>
+ <cmt>SmallParking</cmt>
+ <desc>SmallParking</desc>
+</wpt>
+<wpt lat="28.791527778" lon="-17.799361111">
+<time>2005-12-27T16:09:39Z</time>
+ <name>PARK02</name>
+ <cmt>Tilos_Trail</cmt>
+ <desc>Tilos_Trail</desc>
+</wpt>
+<wpt lat="28.780388889" lon="-17.962944444">
+<time>2005-12-27T16:09:39Z</time>
+ <name>PARK03</name>
+ <cmt>Las_Tricia</cmt>
+ <desc>Las_Tricia</desc>
+</wpt>
+<wpt lat="28.811111111" lon="-17.805222222">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Barloven</name>
+ <cmt>Barlovento</cmt>
+ <desc>Barlovento</desc>
+</wpt>
+<wpt lat="28.692500000" lon="-17.876888889">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Bejenado</name>
+ <cmt>Bejenado</cmt>
+ <desc>Bejenado</desc>
+</wpt>
+<wpt lat="28.697916667" lon="-17.856750000">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Cumbreci</name>
+ <cmt>Cumbrecita</cmt>
+ <desc>Cumbrecita</desc>
+</wpt>
+<wpt lat="28.578805556" lon="-17.838083333">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Durazner</name>
+ <cmt>Duraznero</cmt>
+ <desc>Duraznero</desc>
+</wpt>
+<wpt lat="28.614916667" lon="-17.836777778">
+<time>2005-12-27T16:09:39Z</time>
+ <name>El_Pilar</name>
+ <cmt>El_Pilar</cmt>
+ <desc>El_Pilar</desc>
+</wpt>
+<wpt lat="28.689138889" lon="-17.870083333">
+<time>2005-12-27T16:09:39Z</time>
+ <name>El_Rodeo</name>
+ <cmt>El_Rodeo</cmt>
+ <desc>El_Rodeo</desc>
+</wpt>
+<wpt lat="28.455361111" lon="-17.843166667">
+<time>2005-12-27T16:09:39Z</time>
+ <name>FaroFuen</name>
+ <cmt>Fuencaliente</cmt>
+ <desc>Fuencaliente</desc>
+</wpt>
+<wpt lat="28.730166667" lon="-17.813666667">
+<time>2005-12-27T16:09:39Z</time>
+ <name>F.Olen</name>
+ <cmt>Fuente_Olen</cmt>
+ <desc>Fuente_Olen</desc>
+</wpt>
+<wpt lat="28.583250000" lon="-17.837527778">
+<time>2005-12-27T16:09:39Z</time>
+ <name>HoyoNegr</name>
+ <cmt>Hoyo_Negro</cmt>
+ <desc>Hoyo_Negro</desc>
+</wpt>
+<wpt lat="28.754305556" lon="-17.884805556">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Muchacho</name>
+ <cmt>Rq.Muchachos</cmt>
+ <desc>Rq.Muchachos</desc>
+</wpt>
+<wpt lat="28.609750000" lon="-17.839944444">
+<time>2005-12-27T16:09:39Z</time>
+ <name>M.Birigo</name>
+ <cmt>M_Birigoyo</cmt>
+ <desc>M_Birigoyo</desc>
+</wpt>
+<wpt lat="28.629027778" lon="-17.802027778">
+<time>2005-12-27T16:09:39Z</time>
+ <name>S.Isidro</name>
+ <cmt>San_Isidro</cmt>
+ <desc>San_Isidro</desc>
+</wpt>
+<wpt lat="28.688250000" lon="-17.761611111">
+<time>2005-12-27T16:09:39Z</time>
+ <name>S.Maria</name>
+ <cmt>Santa_Maria</cmt>
+ <desc>Santa_Maria</desc>
+</wpt>
+<wpt lat="28.647277778" lon="-17.944055556">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Tazacort</name>
+ <cmt>Tazacorte</cmt>
+ <desc>Tazacorte</desc>
+</wpt>
+<wpt lat="28.692805556" lon="-17.924444444">
+<time>2005-12-27T16:09:39Z</time>
+ <name>T.d.Time</name>
+ <cmt>Tor_del_Time</cmt>
+ <desc>Tor_del_Time</desc>
+</wpt>
+<wpt lat="28.802388889" lon="-17.906944444">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Zarza</name>
+ <cmt>La_Zarza</cmt>
+ <desc>La_Zarza</desc>
+</wpt>
+<wpt lat="28.801638889" lon="-17.908722222">
+<time>2005-12-27T16:09:39Z</time>
+ <name>Zarzita</name>
+ <cmt>La_Zarzita</cmt>
+ <desc>La_Zarzita</desc>
+</wpt>
+<wpt lat="28.723027778" lon="-17.875583333">
+<time>2005-12-27T16:09:39Z</time>
+ <name>SRVCENTR</name>
+ <cmt>Servicecentr</cmt>
+ <desc>Servicecentr</desc>
+</wpt>
+<wpt lat="28.501916667" lon="-17.843888889">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TGR130</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.688777778" lon="-17.927250000">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TGR131</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.622972222" lon="-17.844805556">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TPRLP14</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.562611111" lon="-17.836833333">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TPRLP15</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.587416667" lon="-17.837694444">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TPRLP16</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.619361111" lon="-17.858638889">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TSLEP103</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.603194444" lon="-17.846388889">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TSLEP107</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.601944444" lon="-17.880944444">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TSLEP107</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.525138889" lon="-17.837555556">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TSLFU110</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.536055556" lon="-17.842666667">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TSLFU111</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.767166667" lon="-17.832916667">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TSLSAS30</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.703972222" lon="-17.925750000">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TSLTJ71</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.702138889" lon="-17.951472222">
+<time>2005-12-27T16:09:39Z</time>
+ <name>TSLTJ71a</name>
+ <cmt>Trailhead</cmt>
+ <desc>Trailhead</desc>
+</wpt>
+<wpt lat="28.561555556" lon="-17.836500000">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GC7CF</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.518166667" lon="-17.834250000">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCN1TQ</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.603000000" lon="-17.877250000">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCNXY8</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.622666667" lon="-17.848777778">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCHT8C</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.480750000" lon="-17.856500000">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCNQXK</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.653916667" lon="-17.852722222">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCD098</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.455250000" lon="-17.843555556">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCM6N0</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.668027778" lon="-17.831361111">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GC405B</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.651138889" lon="-17.946194444">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCD096</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.692055556" lon="-17.875194444">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCNXKV</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.703805556" lon="-17.845555556">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCNXMD</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.710027778" lon="-17.954611111">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCHND9</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.766861111" lon="-17.833194444">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GC405C</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+</wpt>
+<wpt lat="28.698000000" lon="-17.949055556">
+<time>2005-12-29T10:41:43Z</time>
+ <name>FH-HAUS</name>
+</wpt>
+<wpt lat="28.696750000" lon="-17.950194444">
+<time>2005-12-29T11:01:17Z</time>
+ <name>FH-DRIVE</name>
+</wpt>
+<wpt lat="28.710055556" lon="-17.954638889">
+<time>2005-12-31T10:31:52Z</time>
+ <name>GCHND9-1</name>
+</wpt>
+<wpt lat="28.710944444" lon="-17.955277778">
+<time>2005-12-31T10:31:52Z</time>
+ <name>GCHND9-2</name>
+</wpt>
+<wpt lat="28.707222222" lon="-17.950888889">
+<time>2005-12-31T10:31:52Z</time>
+ <name>GCHND9-3</name>
+</wpt>
+<wpt lat="28.722111111" lon="-17.979694444">
+<time>2006-01-03T13:46:38Z</time>
+ <name>PL VETA</name>
+ <cmt>PLAYA VETA</cmt>
+ <desc>PLAYA VETA</desc>
+</wpt>
+<rte>
+ <name>GCHND9</name>
+ <rtept lat="28.710027778" lon="-17.954611111">
+<time>2005-12-27T16:09:39Z</time>
+ <name>GCHND9</name>
+ <cmt>Geocache</cmt>
+ <desc>Geocache</desc>
+ </rtept>
+ <rtept lat="28.710055556" lon="-17.954638889">
+<time>2005-12-31T10:31:52Z</time>
+ <name>GCHND9-1</name>
+ </rtept>
+ <rtept lat="28.710944444" lon="-17.955277778">
+<time>2005-12-31T10:31:52Z</time>
+ <name>GCHND9-2</name>
+ </rtept>
+ <rtept lat="28.707222222" lon="-17.950888889">
+<time>2005-12-31T10:31:52Z</time>
+ <name>GCHND9-3</name>
+ </rtept>
+</rte>
+</gpx>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="37.007446289" minlon ="-13.823547363" maxlat="65.522460938" maxlon="18.424072266" />
+<bounds minlat="37.007446289" minlon="-13.823547363" maxlat="65.522460938" maxlon="18.424072266"/>
<wpt lat="50.738296509" lon="12.683029175">
<time>2005-07-14T10:12:49Z</time>
<name>01</name>
<name>X1</name>
<cmt>žðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É×</cmt>
<desc>žðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É×</desc>
- <sym>Diamond, Blue</sym>
+ <sym>Block, Blue</sym>
</wpt>
<wpt lat="50.497970581" lon="13.027725220">
<time>2005-07-14T11:18:06Z</time>
<name>X2</name>
<cmt>žðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É×</cmt>
<desc>žðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É×</desc>
- <sym>Diamond, Blue</sym>
+ <sym>Block, Blue</sym>
</wpt>
</gpx>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="34.019184000" minlon ="-122.605838000" maxlat="37.819339000" maxlon="-120.438209000" />
+<bounds minlat="34.019184000" minlon="-122.605838000" maxlat="37.819339000" maxlon="-120.438209000"/>
<wpt lat="37.229349000" lon="-122.441589000">
<time>2004-11-05T21:13:00Z</time>
<name>PESCDR01</name>
</Marks>
<Name>Into The Bay</Name>
</Route>
- <Mark created="20041105T170909Z" id="b0b1b2b3-b4b5-b6b7-b8b9-babbbcbdbebf">
+ <Mark created="20041105T170909Z" id="{10111213-1415-1617-1819-1a1b1c1d1e1f}">
<Position>37.763290 N 122.282580 W</Position>
<Name>SFBALBAY</Name>
</Mark>
- <Mark created="20041105T170910Z" id="c0c1c2c3-c4c5-c6c7-c8c9-cacbcccdcecf">
+ <Mark created="20041105T170910Z" id="{20212223-2425-2627-2829-2a2b2c2d2e2f}">
<Position>37.751613 N 122.339028 W</Position>
<Name>SFBAY001</Name>
</Mark>
- <Mark created="20041105T170913Z" id="d0d1d2d3-d4d5-d6d7-d8d9-dadbdcdddedf">
+ <Mark created="20041105T170913Z" id="{30313233-3435-3637-3839-3a3b3c3d3e3f}">
<Position>37.817420 N 122.394305 W</Position>
<Name>SFBAY002</Name>
</Mark>
- <Mark created="20041105T170916Z" id="e0e1e2e3-e4e5-e6e7-e8e9-eaebecedeeef">
+ <Mark created="20041105T170916Z" id="{40414243-4445-4647-4849-4a4b4c4d4e4f}">
<Position>37.819339 N 122.478302 W</Position>
<Name>SFGGBRDG</Name>
</Mark>
- <Mark created="20041105T170920Z" id="f0f1f2f3-f4f5-f6f7-f8f9-fafbfcfdfeff">
+ <Mark created="20041105T170920Z" id="{50515253-5455-5657-5859-5a5b5c5d5e5f}">
<Position>37.773033 N 122.605838 W</Position>
<Name>SFCHNL01</Name>
</Mark>
- <Mark created="20041105T170926Z" id="00010203-0405-0607-0809-0a0b0c0d0e0f">
+ <Mark created="20041105T170926Z" id="{60616263-6465-6667-6869-6a6b6c6d6e6f}">
<Position>37.518860 N 122.529914 W</Position>
<Name>HMCOLREF</Name>
</Mark>
- <Mark created="20041105T170927Z" id="10111213-1415-1617-1819-1a1b1c1d1e1f">
+ <Mark created="20041105T170927Z" id="{70717273-7475-7677-7879-7a7b7c7d7e7f}">
<Position>37.482348 N 122.507704 W</Position>
<Name>HMPILL01</Name>
</Mark>
- <Mark created="20041105T211624Z" id="20212223-2425-2627-2829-2a2b2c2d2e2f">
+ <Mark created="20041105T211624Z" id="{80818283-8485-8687-8889-8a8b8c8d8e8f}">
<Position>37.475062 N 122.488531 W</Position>
<Name>HMPILLPT</Name>
</Mark>
- <Mark created="20041105T170929Z" id="30313233-3435-3637-3839-3a3b3c3d3e3f">
+ <Mark created="20041105T170929Z" id="{90919293-9495-9697-9899-9a9b9c9d9e9f}">
<Position>37.476448 N 122.475800 W</Position>
<Name>HMPILL02</Name>
</Mark>
- <Mark created="20041105T170930Z" id="40414243-4445-4647-4849-4a4b4c4d4e4f">
+ <Mark created="20041105T170930Z" id="{a0a1a2a3-a4a5-a6a7-a8a9-aaabacadaeaf}">
<Position>37.495102 N 122.483927 W</Position>
<Name>HMPILL03</Name>
</Mark>
- <Mark created="20041105T211300Z" id="50515253-5455-5657-5859-5a5b5c5d5e5f">
+ <Mark created="20041105T211300Z" id="{b0b1b2b3-b4b5-b6b7-b8b9-babbbcbdbebf}">
<Position>37.229349 N 122.441589 W</Position>
<Name>PESCDR01</Name>
</Mark>
- <Mark created="20041105T211324Z" id="60616263-6465-6667-6869-6a6b6c6d6e6f">
+ <Mark created="20041105T211324Z" id="{c0c1c2c3-c4c5-c6c7-c8c9-cacbcccdcecf}">
<Position>37.183397 N 122.411904 W</Position>
<Name>PIGEON01</Name>
</Mark>
- <Mark created="20041105T211341Z" id="70717273-7475-7677-7879-7a7b7c7d7e7f">
+ <Mark created="20041105T211341Z" id="{d0d1d2d3-d4d5-d6d7-d8d9-dadbdcdddedf}">
<Position>37.090736 N 122.348775 W</Position>
<Name>ANONUV01</Name>
</Mark>
- <Mark created="20041105T211409Z" id="80818283-8485-8687-8889-8a8b8c8d8e8f">
+ <Mark created="20041105T211409Z" id="{e0e1e2e3-e4e5-e6e7-e8e9-eaebecedeeef}">
<Position>36.929502 N 122.113725 W</Position>
<Name>SCRUZ01</Name>
</Mark>
- <Mark created="20041105T211416Z" id="90919293-9495-9697-9899-9a9b9c9d9e9f">
+ <Mark created="20041105T211416Z" id="{f0f1f2f3-f4f5-f6f7-f8f9-fafbfcfdfeff}">
<Position>36.934235 N 122.022130 W</Position>
<Name>SCRUZ02</Name>
</Mark>
- <Mark created="20041105T211420Z" id="a0a1a2a3-a4a5-a6a7-a8a9-aaabacadaeaf">
+ <Mark created="20041105T211420Z" id="{00010203-0405-0607-0809-0a0b0c0d0e0f}">
<Position>36.960666 N 122.024734 W</Position>
<Name>SCRUZENT</Name>
</Mark>
- <Mark created="20041105T212422Z" id="b0b1b2b3-b4b5-b6b7-b8b9-babbbcbdbebf">
+ <Mark created="20041105T212422Z" id="{10111213-1415-1617-1819-1a1b1c1d1e1f}">
<Position>36.581344 N 121.995411 W</Position>
<Name>CYPRSSPT</Name>
</Mark>
- <Mark created="20041105T212438Z" id="c0c1c2c3-c4c5-c6c7-c8c9-cacbcccdcecf">
+ <Mark created="20041105T212438Z" id="{20212223-2425-2627-2829-2a2b2c2d2e2f}">
<Position>36.301110 N 121.919097 W</Position>
<Name>PTSUR</Name>
</Mark>
- <Mark created="20041105T212515Z" id="d0d1d2d3-d4d5-d6d7-d8d9-dadbdcdddedf">
+ <Mark created="20041105T212515Z" id="{30313233-3435-3637-3839-3a3b3c3d3e3f}">
<Position>36.238177 N 121.855209 W</Position>
<Name>COOPERPT</Name>
</Mark>
- <Mark created="20041105T212526Z" id="e0e1e2e3-e4e5-e6e7-e8e9-eaebecedeeef">
+ <Mark created="20041105T212526Z" id="{40414243-4445-4647-4849-4a4b4c4d4e4f}">
<Position>36.225175 N 121.801314 W</Position>
<Name>PFEIFENT</Name>
</Mark>
- <Mark created="20041105T212531Z" id="f0f1f2f3-f4f5-f6f7-f8f9-fafbfcfdfeff">
+ <Mark created="20041105T212531Z" id="{50515253-5455-5657-5859-5a5b5c5d5e5f}">
<Position>36.230449 N 121.797444 W</Position>
<Name>PFEIFANC</Name>
</Mark>
- <Mark created="20041105T212826Z" id="00010203-0405-0607-0809-0a0b0c0d0e0f">
+ <Mark created="20041105T212826Z" id="{60616263-6465-6667-6869-6a6b6c6d6e6f}">
<Position>35.879801 N 121.498947 W</Position>
<Name>SANMRT01</Name>
</Mark>
- <Mark created="20041105T212833Z" id="10111213-1415-1617-1819-1a1b1c1d1e1f">
+ <Mark created="20041105T212833Z" id="{70717273-7475-7677-7879-7a7b7c7d7e7f}">
<Position>35.652801 N 121.308485 W</Position>
<Name>PDRSBLNC</Name>
</Mark>
- <Mark created="20041105T212850Z" id="20212223-2425-2627-2829-2a2b2c2d2e2f">
+ <Mark created="20041105T212850Z" id="{80818283-8485-8687-8889-8a8b8c8d8e8f}">
<Position>35.623297 N 121.185920 W</Position>
<Name>SNSMNENT</Name>
</Mark>
- <Mark created="20041105T212853Z" id="30313233-3435-3637-3839-3a3b3c3d3e3f">
+ <Mark created="20041105T212853Z" id="{90919293-9495-9697-9899-9a9b9c9d9e9f}">
<Position>35.640478 N 121.183772 W</Position>
<Name>SNSMNANC</Name>
</Mark>
- <Mark created="20041105T213618Z" id="40414243-4445-4647-4849-4a4b4c4d4e4f">
+ <Mark created="20041105T213618Z" id="{a0a1a2a3-a4a5-a6a7-a8a9-aaabacadaeaf}">
<Position>35.572353 N 121.152797 W</Position>
<Name>CAMBRIA</Name>
</Mark>
- <Mark created="20041105T213626Z" id="50515253-5455-5657-5859-5a5b5c5d5e5f">
+ <Mark created="20041105T213626Z" id="{b0b1b2b3-b4b5-b6b7-b8b9-babbbcbdbebf}">
<Position>35.449214 N 121.020825 W</Position>
<Name>PTESTERO</Name>
</Mark>
- <Mark created="20041105T213635Z" id="60616263-6465-6667-6869-6a6b6c6d6e6f">
+ <Mark created="20041105T213635Z" id="{c0c1c2c3-c4c5-c6c7-c8c9-cacbcccdcecf}">
<Position>35.216602 N 120.928391 W</Position>
<Name>PTBUCHON</Name>
</Mark>
- <Mark created="20041105T213642Z" id="70717273-7475-7677-7879-7a7b7c7d7e7f">
+ <Mark created="20041105T213642Z" id="{d0d1d2d3-d4d5-d6d7-d8d9-dadbdcdddedf}">
<Position>34.883361 N 120.684631 W</Position>
<Name>PTSAL01</Name>
</Mark>
- <Mark created="20041105T213647Z" id="80818283-8485-8687-8889-8a8b8c8d8e8f">
+ <Mark created="20041105T213647Z" id="{e0e1e2e3-e4e5-e6e7-e8e9-eaebecedeeef}">
<Position>34.884641 N 120.652026 W</Position>
<Name>PTSALENT</Name>
</Mark>
- <Mark created="20041105T213704Z" id="90919293-9495-9697-9899-9a9b9c9d9e9f">
+ <Mark created="20041105T213704Z" id="{f0f1f2f3-f4f5-f6f7-f8f9-fafbfcfdfeff}">
<Position>34.896555 N 120.649124 W</Position>
<Name>PTSALANC</Name>
</Mark>
- <Mark created="20041105T213949Z" id="a0a1a2a3-a4a5-a6a7-a8a9-aaabacadaeaf">
+ <Mark created="20041105T213949Z" id="{00010203-0405-0607-0809-0a0b0c0d0e0f}">
<Position>34.758180 N 120.642516 W</Position>
<Name>PURSMAPT</Name>
</Mark>
- <Mark created="20041105T213954Z" id="b0b1b2b3-b4b5-b6b7-b8b9-babbbcbdbebf">
+ <Mark created="20041105T213954Z" id="{10111213-1415-1617-1819-1a1b1c1d1e1f}">
<Position>34.572579 N 120.663636 W</Position>
<Name>PTARGLLO</Name>
</Mark>
- <Mark created="20041105T214005Z" id="c0c1c2c3-c4c5-c6c7-c8c9-cacbcccdcecf">
+ <Mark created="20041105T214005Z" id="{20212223-2425-2627-2829-2a2b2c2d2e2f}">
<Position>34.113844 N 120.492630 W</Position>
<Name>SANMGL01</Name>
</Mark>
- <Mark created="20041105T214044Z" id="d0d1d2d3-d4d5-d6d7-d8d9-dadbdcdddedf">
+ <Mark created="20041105T214044Z" id="{30313233-3435-3637-3839-3a3b3c3d3e3f}">
<Position>34.029483 N 120.471409 W</Position>
<Name>SANMGL02</Name>
</Mark>
- <Mark created="20041105T214048Z" id="e0e1e2e3-e4e5-e6e7-e8e9-eaebecedeeef">
+ <Mark created="20041105T214048Z" id="{40414243-4445-4647-4849-4a4b4c4d4e4f}">
<Position>34.019184 N 120.444197 W</Position>
<Name>SANMGL03</Name>
</Mark>
- <Mark created="20041105T214057Z" id="f0f1f2f3-f4f5-f6f7-f8f9-fafbfcfdfeff">
+ <Mark created="20041105T214057Z" id="{50515253-5455-5657-5859-5a5b5c5d5e5f}">
<Position>34.023478 N 120.438209 W</Position>
<Name>ADCOVENT</Name>
</Mark>
- <Mark created="20041105T214059Z" id="00010203-0405-0607-0809-0a0b0c0d0e0f">
+ <Mark created="20041105T214059Z" id="{60616263-6465-6667-6869-6a6b6c6d6e6f}">
<Position>34.028615 N 120.439696 W</Position>
<Name>ADCOVANC</Name>
</Mark>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="34.019184000" minlon ="-122.605838000" maxlat="37.819339000" maxlon="-120.438209000" />
-<wpt lat="37.763290000" lon="-122.282580000">
-<time>2004-11-05T17:09:09Z</time>
- <name>SFBALBAY</name>
- <cmt>SFBALBAY</cmt>
- <desc>SFBALBAY</desc>
-</wpt>
-<wpt lat="37.751613000" lon="-122.339028000">
-<time>2004-11-05T17:09:10Z</time>
- <name>SFBAY001</name>
- <cmt>SFBAY001</cmt>
- <desc>SFBAY001</desc>
-</wpt>
-<wpt lat="37.817420000" lon="-122.394305000">
-<time>2004-11-05T17:09:13Z</time>
- <name>SFBAY002</name>
- <cmt>SFBAY002</cmt>
- <desc>SFBAY002</desc>
-</wpt>
-<wpt lat="37.819339000" lon="-122.478302000">
-<time>2004-11-05T17:09:16Z</time>
- <name>SFGGBRDG</name>
- <cmt>SFGGBRDG</cmt>
- <desc>SFGGBRDG</desc>
-</wpt>
-<wpt lat="37.773033000" lon="-122.605838000">
-<time>2004-11-05T17:09:20Z</time>
- <name>SFCHNL01</name>
- <cmt>SFCHNL01</cmt>
- <desc>SFCHNL01</desc>
-</wpt>
-<wpt lat="37.518860000" lon="-122.529914000">
-<time>2004-11-05T17:09:26Z</time>
- <name>HMCOLREF</name>
- <cmt>HMCOLREF</cmt>
- <desc>HMCOLREF</desc>
-</wpt>
-<wpt lat="37.482348000" lon="-122.507704000">
-<time>2004-11-05T17:09:27Z</time>
- <name>HMPILL01</name>
- <cmt>HMPILL01</cmt>
- <desc>HMPILL01</desc>
-</wpt>
-<wpt lat="37.476448000" lon="-122.475800000">
-<time>2004-11-05T17:09:29Z</time>
- <name>HMPILL02</name>
- <cmt>HMPILL02</cmt>
- <desc>HMPILL02</desc>
-</wpt>
-<wpt lat="37.495102000" lon="-122.483927000">
-<time>2004-11-05T17:09:30Z</time>
- <name>HMPILL03</name>
- <cmt>HMPILL03</cmt>
- <desc>HMPILL03</desc>
-</wpt>
+<bounds minlat="34.019184000" minlon="-122.605838000" maxlat="37.819339000" maxlon="-120.438209000"/>
<wpt lat="37.229349000" lon="-122.441589000">
<time>2004-11-05T21:13:00Z</time>
<name>PESCDR01</name>
<cmt>SCRUZENT</cmt>
<desc>SCRUZENT</desc>
</wpt>
-<wpt lat="37.475062000" lon="-122.488531000">
-<time>2004-11-05T21:16:24Z</time>
- <name>HMPILLPT</name>
- <cmt>HMPILLPT</cmt>
- <desc>HMPILLPT</desc>
-</wpt>
<wpt lat="36.581344000" lon="-121.995411000">
<time>2004-11-05T21:24:22Z</time>
<name>CYPRSSPT</name>
<cmt>ADCOVANC</cmt>
<desc>ADCOVANC</desc>
</wpt>
+<rte>
+ <name>Into The Bay</name>
+ <rtept lat="37.763290000" lon="-122.282580000">
+<time>2004-11-05T17:09:09Z</time>
+ <name>SFBALBAY</name>
+ </rtept>
+ <rtept lat="37.751613000" lon="-122.339028000">
+<time>2004-11-05T17:09:10Z</time>
+ <name>SFBAY001</name>
+ </rtept>
+ <rtept lat="37.817420000" lon="-122.394305000">
+<time>2004-11-05T17:09:13Z</time>
+ <name>SFBAY002</name>
+ </rtept>
+ <rtept lat="37.819339000" lon="-122.478302000">
+<time>2004-11-05T17:09:16Z</time>
+ <name>SFGGBRDG</name>
+ </rtept>
+ <rtept lat="37.773033000" lon="-122.605838000">
+<time>2004-11-05T17:09:20Z</time>
+ <name>SFCHNL01</name>
+ </rtept>
+ <rtept lat="37.518860000" lon="-122.529914000">
+<time>2004-11-05T17:09:26Z</time>
+ <name>HMCOLREF</name>
+ </rtept>
+ <rtept lat="37.482348000" lon="-122.507704000">
+<time>2004-11-05T17:09:27Z</time>
+ <name>HMPILL01</name>
+ </rtept>
+ <rtept lat="37.475062000" lon="-122.488531000">
+<time>2004-11-05T21:16:24Z</time>
+ <name>HMPILLPT</name>
+ </rtept>
+ <rtept lat="37.476448000" lon="-122.475800000">
+<time>2004-11-05T17:09:29Z</time>
+ <name>HMPILL02</name>
+ </rtept>
+ <rtept lat="37.495102000" lon="-122.483927000">
+<time>2004-11-05T17:09:30Z</time>
+ <name>HMPILL03</name>
+ </rtept>
+</rte>
</gpx>
<?xml version="1.0"?>
<NavObjectCollection created="19700101T000000Z">
<Name>Navigation Objects</Name>
- <Mark created="20041105T170909Z" id="00010203-0405-0607-0809-0a0b0c0d0e0f">
+ <Route created="19700101T000000Z" id="{00010203-0405-0607-0809-0a0b0c0d0e0f}">
+ <Marks>
+ {10111213-1415-1617-1819-1a1b1c1d1e1f}
+ {20212223-2425-2627-2829-2a2b2c2d2e2f}
+ {30313233-3435-3637-3839-3a3b3c3d3e3f}
+ {40414243-4445-4647-4849-4a4b4c4d4e4f}
+ {50515253-5455-5657-5859-5a5b5c5d5e5f}
+ {60616263-6465-6667-6869-6a6b6c6d6e6f}
+ {70717273-7475-7677-7879-7a7b7c7d7e7f}
+ {80818283-8485-8687-8889-8a8b8c8d8e8f}
+ {90919293-9495-9697-9899-9a9b9c9d9e9f}
+ {a0a1a2a3-a4a5-a6a7-a8a9-aaabacadaeaf}
+ </Marks>
+ <Name>Into The Bay</Name>
+ </Route>
+ <Mark created="20041105T170909Z" id="{10111213-1415-1617-1819-1a1b1c1d1e1f}">
<Position>37.763290 N 122.282580 W</Position>
<Name>SFBALBAY</Name>
</Mark>
- <Mark created="20041105T170910Z" id="10111213-1415-1617-1819-1a1b1c1d1e1f">
+ <Mark created="20041105T170910Z" id="{20212223-2425-2627-2829-2a2b2c2d2e2f}">
<Position>37.751613 N 122.339028 W</Position>
<Name>SFBAY001</Name>
</Mark>
- <Mark created="20041105T170913Z" id="20212223-2425-2627-2829-2a2b2c2d2e2f">
+ <Mark created="20041105T170913Z" id="{30313233-3435-3637-3839-3a3b3c3d3e3f}">
<Position>37.817420 N 122.394305 W</Position>
<Name>SFBAY002</Name>
</Mark>
- <Mark created="20041105T170916Z" id="30313233-3435-3637-3839-3a3b3c3d3e3f">
+ <Mark created="20041105T170916Z" id="{40414243-4445-4647-4849-4a4b4c4d4e4f}">
<Position>37.819339 N 122.478302 W</Position>
<Name>SFGGBRDG</Name>
</Mark>
- <Mark created="20041105T170920Z" id="40414243-4445-4647-4849-4a4b4c4d4e4f">
+ <Mark created="20041105T170920Z" id="{50515253-5455-5657-5859-5a5b5c5d5e5f}">
<Position>37.773033 N 122.605838 W</Position>
<Name>SFCHNL01</Name>
</Mark>
- <Mark created="20041105T170926Z" id="50515253-5455-5657-5859-5a5b5c5d5e5f">
+ <Mark created="20041105T170926Z" id="{60616263-6465-6667-6869-6a6b6c6d6e6f}">
<Position>37.518860 N 122.529914 W</Position>
<Name>HMCOLREF</Name>
</Mark>
- <Mark created="20041105T170927Z" id="60616263-6465-6667-6869-6a6b6c6d6e6f">
+ <Mark created="20041105T170927Z" id="{70717273-7475-7677-7879-7a7b7c7d7e7f}">
<Position>37.482348 N 122.507704 W</Position>
<Name>HMPILL01</Name>
</Mark>
- <Mark created="20041105T170929Z" id="70717273-7475-7677-7879-7a7b7c7d7e7f">
+ <Mark created="20041105T211624Z" id="{80818283-8485-8687-8889-8a8b8c8d8e8f}">
+ <Position>37.475062 N 122.488531 W</Position>
+ <Name>HMPILLPT</Name>
+ </Mark>
+ <Mark created="20041105T170929Z" id="{90919293-9495-9697-9899-9a9b9c9d9e9f}">
<Position>37.476448 N 122.475800 W</Position>
<Name>HMPILL02</Name>
</Mark>
- <Mark created="20041105T170930Z" id="80818283-8485-8687-8889-8a8b8c8d8e8f">
+ <Mark created="20041105T170930Z" id="{a0a1a2a3-a4a5-a6a7-a8a9-aaabacadaeaf}">
<Position>37.495102 N 122.483927 W</Position>
<Name>HMPILL03</Name>
</Mark>
- <Mark created="20041105T211300Z" id="90919293-9495-9697-9899-9a9b9c9d9e9f">
+ <Mark created="20041105T211300Z" id="{b0b1b2b3-b4b5-b6b7-b8b9-babbbcbdbebf}">
<Position>37.229349 N 122.441589 W</Position>
<Name>PESCDR01</Name>
</Mark>
- <Mark created="20041105T211324Z" id="a0a1a2a3-a4a5-a6a7-a8a9-aaabacadaeaf">
+ <Mark created="20041105T211324Z" id="{c0c1c2c3-c4c5-c6c7-c8c9-cacbcccdcecf}">
<Position>37.183397 N 122.411904 W</Position>
<Name>PIGEON01</Name>
</Mark>
- <Mark created="20041105T211341Z" id="b0b1b2b3-b4b5-b6b7-b8b9-babbbcbdbebf">
+ <Mark created="20041105T211341Z" id="{d0d1d2d3-d4d5-d6d7-d8d9-dadbdcdddedf}">
<Position>37.090736 N 122.348775 W</Position>
<Name>ANONUV01</Name>
</Mark>
- <Mark created="20041105T211409Z" id="c0c1c2c3-c4c5-c6c7-c8c9-cacbcccdcecf">
+ <Mark created="20041105T211409Z" id="{e0e1e2e3-e4e5-e6e7-e8e9-eaebecedeeef}">
<Position>36.929502 N 122.113725 W</Position>
<Name>SCRUZ01</Name>
</Mark>
- <Mark created="20041105T211416Z" id="d0d1d2d3-d4d5-d6d7-d8d9-dadbdcdddedf">
+ <Mark created="20041105T211416Z" id="{f0f1f2f3-f4f5-f6f7-f8f9-fafbfcfdfeff}">
<Position>36.934235 N 122.022130 W</Position>
<Name>SCRUZ02</Name>
</Mark>
- <Mark created="20041105T211420Z" id="e0e1e2e3-e4e5-e6e7-e8e9-eaebecedeeef">
+ <Mark created="20041105T211420Z" id="{00010203-0405-0607-0809-0a0b0c0d0e0f}">
<Position>36.960666 N 122.024734 W</Position>
<Name>SCRUZENT</Name>
</Mark>
- <Mark created="20041105T211624Z" id="f0f1f2f3-f4f5-f6f7-f8f9-fafbfcfdfeff">
- <Position>37.475062 N 122.488531 W</Position>
- <Name>HMPILLPT</Name>
- </Mark>
- <Mark created="20041105T212422Z" id="00010203-0405-0607-0809-0a0b0c0d0e0f">
+ <Mark created="20041105T212422Z" id="{10111213-1415-1617-1819-1a1b1c1d1e1f}">
<Position>36.581344 N 121.995411 W</Position>
<Name>CYPRSSPT</Name>
</Mark>
- <Mark created="20041105T212438Z" id="10111213-1415-1617-1819-1a1b1c1d1e1f">
+ <Mark created="20041105T212438Z" id="{20212223-2425-2627-2829-2a2b2c2d2e2f}">
<Position>36.301110 N 121.919097 W</Position>
<Name>PTSUR</Name>
</Mark>
- <Mark created="20041105T212515Z" id="20212223-2425-2627-2829-2a2b2c2d2e2f">
+ <Mark created="20041105T212515Z" id="{30313233-3435-3637-3839-3a3b3c3d3e3f}">
<Position>36.238177 N 121.855209 W</Position>
<Name>COOPERPT</Name>
</Mark>
- <Mark created="20041105T212526Z" id="30313233-3435-3637-3839-3a3b3c3d3e3f">
+ <Mark created="20041105T212526Z" id="{40414243-4445-4647-4849-4a4b4c4d4e4f}">
<Position>36.225175 N 121.801314 W</Position>
<Name>PFEIFENT</Name>
</Mark>
- <Mark created="20041105T212531Z" id="40414243-4445-4647-4849-4a4b4c4d4e4f">
+ <Mark created="20041105T212531Z" id="{50515253-5455-5657-5859-5a5b5c5d5e5f}">
<Position>36.230449 N 121.797444 W</Position>
<Name>PFEIFANC</Name>
</Mark>
- <Mark created="20041105T212826Z" id="50515253-5455-5657-5859-5a5b5c5d5e5f">
+ <Mark created="20041105T212826Z" id="{60616263-6465-6667-6869-6a6b6c6d6e6f}">
<Position>35.879801 N 121.498947 W</Position>
<Name>SANMRT01</Name>
</Mark>
- <Mark created="20041105T212833Z" id="60616263-6465-6667-6869-6a6b6c6d6e6f">
+ <Mark created="20041105T212833Z" id="{70717273-7475-7677-7879-7a7b7c7d7e7f}">
<Position>35.652801 N 121.308485 W</Position>
<Name>PDRSBLNC</Name>
</Mark>
- <Mark created="20041105T212850Z" id="70717273-7475-7677-7879-7a7b7c7d7e7f">
+ <Mark created="20041105T212850Z" id="{80818283-8485-8687-8889-8a8b8c8d8e8f}">
<Position>35.623297 N 121.185920 W</Position>
<Name>SNSMNENT</Name>
</Mark>
- <Mark created="20041105T212853Z" id="80818283-8485-8687-8889-8a8b8c8d8e8f">
+ <Mark created="20041105T212853Z" id="{90919293-9495-9697-9899-9a9b9c9d9e9f}">
<Position>35.640478 N 121.183772 W</Position>
<Name>SNSMNANC</Name>
</Mark>
- <Mark created="20041105T213618Z" id="90919293-9495-9697-9899-9a9b9c9d9e9f">
+ <Mark created="20041105T213618Z" id="{a0a1a2a3-a4a5-a6a7-a8a9-aaabacadaeaf}">
<Position>35.572353 N 121.152797 W</Position>
<Name>CAMBRIA</Name>
</Mark>
- <Mark created="20041105T213626Z" id="a0a1a2a3-a4a5-a6a7-a8a9-aaabacadaeaf">
+ <Mark created="20041105T213626Z" id="{b0b1b2b3-b4b5-b6b7-b8b9-babbbcbdbebf}">
<Position>35.449214 N 121.020825 W</Position>
<Name>PTESTERO</Name>
</Mark>
- <Mark created="20041105T213635Z" id="b0b1b2b3-b4b5-b6b7-b8b9-babbbcbdbebf">
+ <Mark created="20041105T213635Z" id="{c0c1c2c3-c4c5-c6c7-c8c9-cacbcccdcecf}">
<Position>35.216602 N 120.928391 W</Position>
<Name>PTBUCHON</Name>
</Mark>
- <Mark created="20041105T213642Z" id="c0c1c2c3-c4c5-c6c7-c8c9-cacbcccdcecf">
+ <Mark created="20041105T213642Z" id="{d0d1d2d3-d4d5-d6d7-d8d9-dadbdcdddedf}">
<Position>34.883361 N 120.684631 W</Position>
<Name>PTSAL01</Name>
</Mark>
- <Mark created="20041105T213647Z" id="d0d1d2d3-d4d5-d6d7-d8d9-dadbdcdddedf">
+ <Mark created="20041105T213647Z" id="{e0e1e2e3-e4e5-e6e7-e8e9-eaebecedeeef}">
<Position>34.884641 N 120.652026 W</Position>
<Name>PTSALENT</Name>
</Mark>
- <Mark created="20041105T213704Z" id="e0e1e2e3-e4e5-e6e7-e8e9-eaebecedeeef">
+ <Mark created="20041105T213704Z" id="{f0f1f2f3-f4f5-f6f7-f8f9-fafbfcfdfeff}">
<Position>34.896555 N 120.649124 W</Position>
<Name>PTSALANC</Name>
</Mark>
- <Mark created="20041105T213949Z" id="f0f1f2f3-f4f5-f6f7-f8f9-fafbfcfdfeff">
+ <Mark created="20041105T213949Z" id="{00010203-0405-0607-0809-0a0b0c0d0e0f}">
<Position>34.758180 N 120.642516 W</Position>
<Name>PURSMAPT</Name>
</Mark>
- <Mark created="20041105T213954Z" id="00010203-0405-0607-0809-0a0b0c0d0e0f">
+ <Mark created="20041105T213954Z" id="{10111213-1415-1617-1819-1a1b1c1d1e1f}">
<Position>34.572579 N 120.663636 W</Position>
<Name>PTARGLLO</Name>
</Mark>
- <Mark created="20041105T214005Z" id="10111213-1415-1617-1819-1a1b1c1d1e1f">
+ <Mark created="20041105T214005Z" id="{20212223-2425-2627-2829-2a2b2c2d2e2f}">
<Position>34.113844 N 120.492630 W</Position>
<Name>SANMGL01</Name>
</Mark>
- <Mark created="20041105T214044Z" id="20212223-2425-2627-2829-2a2b2c2d2e2f">
+ <Mark created="20041105T214044Z" id="{30313233-3435-3637-3839-3a3b3c3d3e3f}">
<Position>34.029483 N 120.471409 W</Position>
<Name>SANMGL02</Name>
</Mark>
- <Mark created="20041105T214048Z" id="30313233-3435-3637-3839-3a3b3c3d3e3f">
+ <Mark created="20041105T214048Z" id="{40414243-4445-4647-4849-4a4b4c4d4e4f}">
<Position>34.019184 N 120.444197 W</Position>
<Name>SANMGL03</Name>
</Mark>
- <Mark created="20041105T214057Z" id="40414243-4445-4647-4849-4a4b4c4d4e4f">
+ <Mark created="20041105T214057Z" id="{50515253-5455-5657-5859-5a5b5c5d5e5f}">
<Position>34.023478 N 120.438209 W</Position>
<Name>ADCOVENT</Name>
</Mark>
- <Mark created="20041105T214059Z" id="50515253-5455-5657-5859-5a5b5c5d5e5f">
+ <Mark created="20041105T214059Z" id="{60616263-6465-6667-6869-6a6b6c6d6e6f}">
<Position>34.028615 N 120.439696 W</Position>
<Name>ADCOVANC</Name>
</Mark>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="45.988538473" minlon ="11.609659845" maxlat="46.159847646" maxlon="12.121156748" />
+<bounds minlat="45.988538473" minlon="11.609659845" maxlat="46.159847646" maxlon="12.121156748"/>
<wpt lat="46.029489931" lon="11.825879086">
<ele>1400.000000</ele>
<name>F01140</name>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="29.958683333" minlon ="-90.065533333" maxlat="48.570233333" maxlon="9.524850000" />
+<bounds minlat="29.958683333" minlon="-90.065533333" maxlat="48.570233333" maxlon="9.524850000"/>
<wpt lat="29.958683333" lon="-90.065533333">
<name>GC2663</name>
<cmt>New Orleans Bon Chance (Good Luck) Cache-Cam by CrotalusRex and Mimichan</cmt>
<?xml version="1.0" encoding="UTF-8"?>
-<kml xmlns="http://earth.google.com/kml/2.1">
- <Document xmlns:xlink="http://www.w3.org/1999/xlink">
+<kml xmlns="http://earth.google.com/kml/2.1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://earth.google.com/kml/2.1
+ http://code.google.com/apis/kml/schema/kml21.xsd">
+ <Document>
<name>GPS device</name>
<!-- Normal route style -->
<Style id="route_n">
<?xml version="1.0" encoding="UTF-8"?>
-<kml xmlns="http://earth.google.com/kml/2.1">
- <Document xmlns:xlink="http://www.w3.org/1999/xlink">
+<kml xmlns="http://earth.google.com/kml/2.1"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://earth.google.com/kml/2.1
+ http://code.google.com/apis/kml/schema/kml21.xsd">
+ <Document>
<name>GPS device</name>
<!-- Normal route style -->
<Style id="route_n">
--- /dev/null
+[Wp0]
+Loc=New location
+Name=5066
+Lat=42.438878000000003
+Long=-71.119276999999997
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5066
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37223.878796296300000
+GUID=0-0-0-0
+[Wp1]
+Loc=New location
+Name=5067
+Lat=42.439227000000002
+Long=-71.119688999999994
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5067
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143692129600000
+GUID=0-0-0-0
+[Wp2]
+Loc=New location
+Name=5096
+Lat=42.438916999999996
+Long=-71.116146000000001
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5096
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37211.960856481500000
+GUID=0-0-0-0
+[Wp3]
+Loc=New location
+Name=5142
+Lat=42.443904000000003
+Long=-71.122044000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5142
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37223.878796296300000
+GUID=0-0-0-0
+[Wp4]
+Loc=New location
+Name=5156
+Lat=42.447298000000004
+Long=-71.121447000000003
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5156
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143726851800000
+GUID=0-0-0-0
+[Wp5]
+Loc=New location
+Name=5224
+Lat=42.454872999999999
+Long=-71.125094000000004
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5224
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143738425900000
+GUID=0-0-0-0
+[Wp6]
+Loc=New location
+Name=5229
+Lat=42.459079000000003
+Long=-71.124988000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5229
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143738425900000
+GUID=0-0-0-0
+[Wp7]
+Loc=New location
+Name=5237
+Lat=42.456978999999997
+Long=-71.124474000000006
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5237
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143738425900000
+GUID=0-0-0-0
+[Wp8]
+Loc=New location
+Name=5254
+Lat=42.454400999999997
+Long=-71.120990000000006
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5254
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37223.878796296300000
+GUID=0-0-0-0
+[Wp9]
+Loc=New location
+Name=5258
+Lat=42.451442000000000
+Long=-71.121746000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5258
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37202.995613425900000
+GUID=0-0-0-0
+[Wp10]
+Loc=New location
+Name=5264
+Lat=42.454403999999997
+Long=-71.120660000000001
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5264
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37223.878796296300000
+GUID=0-0-0-0
+[Wp11]
+Loc=New location
+Name=526708
+Lat=42.457760999999998
+Long=-71.121044999999995
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=526708
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143750000000000
+GUID=0-0-0-0
+[Wp12]
+Loc=New location
+Name=526750
+Lat=42.457089000000003
+Long=-71.120312999999996
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=526750
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143750000000000
+GUID=0-0-0-0
+[Wp13]
+Loc=New location
+Name=527614
+Lat=42.456592000000001
+Long=-71.119675999999998
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=527614
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37202.995613425900000
+GUID=0-0-0-0
+[Wp14]
+Loc=New location
+Name=527631
+Lat=42.456251999999999
+Long=-71.119355999999996
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=527631
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37202.995613425900000
+GUID=0-0-0-0
+[Wp15]
+Loc=New location
+Name=5278
+Lat=42.458148000000001
+Long=-71.119135000000000
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5278
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143750000000000
+GUID=0-0-0-0
+[Wp16]
+Loc=New location
+Name=5289
+Lat=42.459377000000003
+Long=-71.117693000000003
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5289
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143761574100000
+GUID=0-0-0-0
+[Wp17]
+Loc=New location
+Name=5374FIRE
+Lat=42.464182999999998
+Long=-71.119827999999998
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5374FIRE
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37223.878796296300000
+GUID=0-0-0-0
+[Wp18]
+Loc=New location
+Name=5376
+Lat=42.465649999999997
+Long=-71.119399000000001
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=5376
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143773148100000
+GUID=0-0-0-0
+[Wp19]
+Loc=New location
+Name=6006
+Lat=42.439017999999997
+Long=-71.114456000000004
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=600698
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143692129600000
+GUID=0-0-0-0
+[Wp20]
+Loc=New location
+Name=6006BLUE
+Lat=42.438594000000002
+Long=-71.114802999999995
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6006BLUE
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37223.878796296300000
+GUID=0-0-0-0
+[Wp21]
+Loc=New location
+Name=6014MEADOW
+Lat=42.436757000000000
+Long=-71.113223000000005
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6014MEADOW
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37223.878796296300000
+GUID=0-0-0-0
+[Wp22]
+Loc=New location
+Name=6029
+Lat=42.441754000000003
+Long=-71.113219999999998
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6029
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143692129600000
+GUID=0-0-0-0
+[Wp23]
+Loc=New location
+Name=6053
+Lat=42.436242999999997
+Long=-71.109075000000004
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6053
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143807870400000
+GUID=0-0-0-0
+[Wp24]
+Loc=New location
+Name=6066
+Lat=42.439250000000001
+Long=-71.107500000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6066
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143715277800000
+GUID=0-0-0-0
+[Wp25]
+Loc=New location
+Name=6067
+Lat=42.439763999999997
+Long=-71.107581999999994
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6067
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143715277800000
+GUID=0-0-0-0
+[Wp26]
+Loc=New location
+Name=6071
+Lat=42.434766000000003
+Long=-71.105874000000000
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6071
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143715277800000
+GUID=0-0-0-0
+[Wp27]
+Loc=New location
+Name=6073
+Lat=42.433304000000000
+Long=-71.106599000000003
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6073
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143703703700000
+GUID=0-0-0-0
+[Wp28]
+Loc=New location
+Name=6084
+Lat=42.437337999999997
+Long=-71.104771999999997
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6084
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143715277800000
+GUID=0-0-0-0
+[Wp29]
+Loc=New location
+Name=6130
+Lat=42.442196000000003
+Long=-71.110974999999996
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6130
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143692129600000
+GUID=0-0-0-0
+[Wp30]
+Loc=New location
+Name=6131
+Lat=42.442981000000003
+Long=-71.111440999999999
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6131
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143726851800000
+GUID=0-0-0-0
+[Wp31]
+Loc=New location
+Name=6153
+Lat=42.444772999999998
+Long=-71.108881999999994
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6153
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143807870400000
+GUID=0-0-0-0
+[Wp32]
+Loc=New location
+Name=6171
+Lat=42.443592000000002
+Long=-71.106301000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6171
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143807870400000
+GUID=0-0-0-0
+[Wp33]
+Loc=New location
+Name=6176
+Lat=42.447803999999998
+Long=-71.106623999999996
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6176
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143796296300000
+GUID=0-0-0-0
+[Wp34]
+Loc=New location
+Name=6177
+Lat=42.448447999999999
+Long=-71.106157999999994
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6177
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143796296300000
+GUID=0-0-0-0
+[Wp35]
+Loc=New location
+Name=6272
+Lat=42.453415000000000
+Long=-71.106782999999993
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6272
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143692129600000
+GUID=0-0-0-0
+[Wp36]
+Loc=New location
+Name=6272
+Lat=42.453434000000001
+Long=-71.107253000000000
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6272
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143703703700000
+GUID=0-0-0-0
+[Wp37]
+Loc=New location
+Name=6278
+Lat=42.458297999999999
+Long=-71.106770999999995
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6278
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143796296300000
+GUID=0-0-0-0
+[Wp38]
+Loc=New location
+Name=6280
+Lat=42.451430000000002
+Long=-71.105412999999999
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6280
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37211.960856481500000
+GUID=0-0-0-0
+[Wp39]
+Loc=New location
+Name=6283
+Lat=42.453845000000001
+Long=-71.105205999999995
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6283
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37211.960856481500000
+GUID=0-0-0-0
+[Wp40]
+Loc=New location
+Name=6289
+Lat=42.459986000000001
+Long=-71.106170000000006
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6289
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37211.960856481500000
+GUID=0-0-0-0
+[Wp41]
+Loc=New location
+Name=6297
+Lat=42.457616000000002
+Long=-71.105115999999995
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6297
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143796296300000
+GUID=0-0-0-0
+[Wp42]
+Loc=New location
+Name=6328
+Lat=42.467109999999998
+Long=-71.113574000000000
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6328
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143773148100000
+GUID=0-0-0-0
+[Wp43]
+Loc=New location
+Name=6354
+Lat=42.464202000000000
+Long=-71.109863000000004
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6354
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143784722200000
+GUID=0-0-0-0
+[Wp44]
+Loc=New location
+Name=635722
+Lat=42.466459000000000
+Long=-71.110067000000001
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=635722
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143773148100000
+GUID=0-0-0-0
+[Wp45]
+Loc=New location
+Name=635783
+Lat=42.466557000000002
+Long=-71.109409999999997
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=635783
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143773148100000
+GUID=0-0-0-0
+[Wp46]
+Loc=New location
+Name=6373
+Lat=42.463495000000002
+Long=-71.107117000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6373
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143784722200000
+GUID=0-0-0-0
+[Wp47]
+Loc=New location
+Name=6634
+Lat=42.401051000000002
+Long=-71.110241000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6634
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143703703700000
+GUID=0-0-0-0
+[Wp48]
+Loc=New location
+Name=6979
+Lat=42.432620999999997
+Long=-71.106532000000001
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6979
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143703703700000
+GUID=0-0-0-0
+[Wp49]
+Loc=New location
+Name=6997
+Lat=42.431032999999999
+Long=-71.107883000000001
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=6997
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37211.960856481500000
+GUID=0-0-0-0
+[Wp50]
+Loc=New location
+Name=BEAR HILL
+Lat=42.465687000000003
+Long=-71.107360000000000
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Bear Hill Tower
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143784722200000
+GUID=0-0-0-0
+[Wp51]
+Loc=New location
+Name=BELLEVUE
+Lat=42.430950000000003
+Long=-71.107628000000005
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Bellevue Parking Lot
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.012673611100000
+GUID=0-0-0-0
+[Wp52]
+Loc=New location
+Name=6016
+Lat=42.438665999999998
+Long=-71.114079000000004
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Bike Loop Connector
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37223.878796296300000
+GUID=0-0-0-0
+[Wp53]
+Loc=New location
+Name=5236BRIDGE
+Lat=42.456468999999998
+Long=-71.124651000000000
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Bridge
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143738425900000
+GUID=0-0-0-0
+[Wp54]
+Loc=New location
+Name=5376BRIDGE
+Lat=42.465758999999998
+Long=-71.119815000000003
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Bridge
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143761574100000
+GUID=0-0-0-0
+[Wp55]
+Loc=New location
+Name=6181CROSS
+Lat=42.442993000000001
+Long=-71.105878000000004
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Crossing
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143807870400000
+GUID=0-0-0-0
+[Wp56]
+Loc=New location
+Name=6042CROSS
+Lat=42.435471999999997
+Long=-71.109663999999995
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Crossing
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143807870400000
+GUID=0-0-0-0
+[Wp57]
+Loc=New location
+Name=DARKHOLLPO
+Lat=42.458516000000003
+Long=-71.103645999999998
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Dark Hollow Pond
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=25569.000000000000000
+GUID=0-0-0-0
+[Wp58]
+Loc=New location
+Name=6121DEAD
+Lat=42.443109000000000
+Long=-71.112674999999996
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Dead End
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143715277800000
+GUID=0-0-0-0
+[Wp59]
+Loc=New location
+Name=5179DEAD
+Lat=42.449866000000000
+Long=-71.119298000000001
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Dead End
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143738425900000
+GUID=0-0-0-0
+[Wp60]
+Loc=New location
+Name=5299DEAD
+Lat=42.459629000000000
+Long=-71.116523999999998
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Dead End
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143761574100000
+GUID=0-0-0-0
+[Wp61]
+Loc=New location
+Name=5376DEAD
+Lat=42.465485000000001
+Long=-71.119147999999996
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Dead End
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143773148100000
+GUID=0-0-0-0
+[Wp62]
+Loc=New location
+Name=6353DEAD
+Lat=42.462775999999998
+Long=-71.109986000000006
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Dead End
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143784722200000
+GUID=0-0-0-0
+[Wp63]
+Loc=New location
+Name=6155DEAD
+Lat=42.446793000000000
+Long=-71.108784000000000
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Dead End
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143796296300000
+GUID=0-0-0-0
+[Wp64]
+Loc=New location
+Name=GATE14
+Lat=42.451203999999997
+Long=-71.126602000000005
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Gate 14
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143738425900000
+GUID=0-0-0-0
+[Wp65]
+Loc=New location
+Name=GATE16
+Lat=42.458499000000003
+Long=-71.122078000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Gate 16
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143750000000000
+GUID=0-0-0-0
+[Wp66]
+Loc=New location
+Name=GATE17
+Lat=42.459375999999999
+Long=-71.119237999999996
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Gate 17
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143761574100000
+GUID=0-0-0-0
+[Wp67]
+Loc=New location
+Name=GATE19
+Lat=42.466352999999998
+Long=-71.119240000000005
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Gate 19
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143773148100000
+GUID=0-0-0-0
+[Wp68]
+Loc=New location
+Name=GATE21
+Lat=42.468654999999998
+Long=-71.107697000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Gate 21
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143784722200000
+GUID=0-0-0-0
+[Wp69]
+Loc=New location
+Name=GATE24
+Lat=42.456718000000002
+Long=-71.102973000000006
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Gate 24
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143784722200000
+GUID=0-0-0-0
+[Wp70]
+Loc=New location
+Name=GATE5
+Lat=42.430847000000000
+Long=-71.107690000000005
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Gate 5
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37223.878796296300000
+GUID=0-0-0-0
+[Wp71]
+Loc=New location
+Name=GATE6
+Lat=42.431240000000003
+Long=-71.109235999999996
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Gate 6
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37202.995613425900000
+GUID=0-0-0-0
+[Wp72]
+Loc=New location
+Name=6077LOGS
+Lat=42.439501999999997
+Long=-71.106555999999998
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Log Crossing
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.012685185200000
+GUID=0-0-0-0
+[Wp73]
+Loc=New location
+Name=5148NANEPA
+Lat=42.449764999999999
+Long=-71.122320000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Nanepashemet Road Crossing
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37202.995613425900000
+GUID=0-0-0-0
+[Wp74]
+Loc=New location
+Name=5267OBSTAC
+Lat=42.457388000000002
+Long=-71.119844999999998
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Obstacle
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143750000000000
+GUID=0-0-0-0
+[Wp75]
+Loc=New location
+Name=PANTHRCAVE
+Lat=42.434980000000003
+Long=-71.109942000000004
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Panther Cave
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37202.995613425900000
+GUID=0-0-0-0
+[Wp76]
+Loc=New location
+Name=5252PURPLE
+Lat=42.453256000000003
+Long=-71.121211000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Purple Rock Hill
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37202.995613425900000
+GUID=0-0-0-0
+[Wp77]
+Loc=New location
+Name=5287WATER
+Lat=42.457734000000002
+Long=-71.117480999999998
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Reservoir
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143761574100000
+GUID=0-0-0-0
+[Wp78]
+Loc=New location
+Name=5239ROAD
+Lat=42.459277999999998
+Long=-71.124573999999996
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Road
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143750000000000
+GUID=0-0-0-0
+[Wp79]
+Loc=New location
+Name=5278ROAD
+Lat=42.458781999999999
+Long=-71.118990999999994
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Road
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143761574100000
+GUID=0-0-0-0
+[Wp80]
+Loc=New location
+Name=5058ROAD
+Lat=42.439993000000001
+Long=-71.120925000000000
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Road Crossing
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.012662037000000
+GUID=0-0-0-0
+[Wp81]
+Loc=New location
+Name=SHEEPFOLD
+Lat=42.453415000000000
+Long=-71.106781999999995
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Sheepfold Parking Lot
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.012650463000000
+GUID=0-0-0-0
+[Wp82]
+Loc=New location
+Name=SOAPBOX
+Lat=42.455956000000000
+Long=-71.107483000000002
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Soap Box Derby Track
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.143796296300000
+GUID=0-0-0-0
+[Wp83]
+Loc=New location
+Name=5376STREAM
+Lat=42.465913000000000
+Long=-71.119327999999996
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Stream Crossing
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37202.995613425900000
+GUID=0-0-0-0
+[Wp84]
+Loc=New location
+Name=5144SUMMIT
+Lat=42.445359000000003
+Long=-71.122844999999998
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Summit
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37223.878796296300000
+GUID=0-0-0-0
+[Wp85]
+Loc=New location
+Name=5150TANK
+Lat=42.441727000000000
+Long=-71.121675999999994
+Rng=0.000000000000000
+Bear=0.000000000000000
+Bmp=3
+Fixed=1
+Locked=0
+Notes=Water Tank
+Rel=
+RelSet=1
+RcCount=1
+RcRadius=0.000000000000000
+Show=1
+RcShow=0
+SeaTemp=-32678.000000000000000
+Depth=65535.000000000000000
+Time=37044.012685185200000
+GUID=0-0-0-0
+[Rt0]
+Name=BELLEVUE
+Visible=1
+Guid=0-0-0-0
+Mk0=BELLEVUE
+Cog0=0.000000000000000
+Eta0=0.000000000000000
+LengthPredictedDrift0=0.000000000000000
+PredictedSet0=0.000000000000000
+PredictedSog0=0.000000000000000
+PredictedTime0=0.000000000000000
+PredictedTwa20=0.000000000000000
+PredictedTwd0=0.000000000000000
+PredictedTws0=0.000000000000000
+Mk1=GATE6
+Cog1=0.000000000000000
+Eta1=0.000000000000000
+LengthPredictedDrift1=0.000000000000000
+PredictedSet1=0.000000000000000
+PredictedSog1=0.000000000000000
+PredictedTime1=0.000000000000000
+PredictedTwa21=0.000000000000000
+PredictedTwd1=0.000000000000000
+PredictedTws1=0.000000000000000
+Mk2=PANTHRCAVE
+Cog2=0.000000000000000
+Eta2=0.000000000000000
+LengthPredictedDrift2=0.000000000000000
+PredictedSet2=0.000000000000000
+PredictedSog2=0.000000000000000
+PredictedTime2=0.000000000000000
+PredictedTwa22=0.000000000000000
+PredictedTwd2=0.000000000000000
+PredictedTws2=0.000000000000000
+Mk3=6014MEADOW
+Cog3=0.000000000000000
+Eta3=0.000000000000000
+LengthPredictedDrift3=0.000000000000000
+PredictedSet3=0.000000000000000
+PredictedSog3=0.000000000000000
+PredictedTime3=0.000000000000000
+PredictedTwa23=0.000000000000000
+PredictedTwd3=0.000000000000000
+PredictedTws3=0.000000000000000
+Mk4=6006
+Cog4=0.000000000000000
+Eta4=0.000000000000000
+LengthPredictedDrift4=0.000000000000000
+PredictedSet4=0.000000000000000
+PredictedSog4=0.000000000000000
+PredictedTime4=0.000000000000000
+PredictedTwa24=0.000000000000000
+PredictedTwd4=0.000000000000000
+PredictedTws4=0.000000000000000
+Mk5=6006BLUE
+Cog5=0.000000000000000
+Eta5=0.000000000000000
+LengthPredictedDrift5=0.000000000000000
+PredictedSet5=0.000000000000000
+PredictedSog5=0.000000000000000
+PredictedTime5=0.000000000000000
+PredictedTwa25=0.000000000000000
+PredictedTwd5=0.000000000000000
+PredictedTws5=0.000000000000000
+Mk6=5096
+Cog6=0.000000000000000
+Eta6=0.000000000000000
+LengthPredictedDrift6=0.000000000000000
+PredictedSet6=0.000000000000000
+PredictedSog6=0.000000000000000
+PredictedTime6=0.000000000000000
+PredictedTwa26=0.000000000000000
+PredictedTwd6=0.000000000000000
+PredictedTws6=0.000000000000000
+Mk7=5066
+Cog7=0.000000000000000
+Eta7=0.000000000000000
+LengthPredictedDrift7=0.000000000000000
+PredictedSet7=0.000000000000000
+PredictedSog7=0.000000000000000
+PredictedTime7=0.000000000000000
+PredictedTwa27=0.000000000000000
+PredictedTwd7=0.000000000000000
+PredictedTws7=0.000000000000000
+Mk8=5067
+Cog8=0.000000000000000
+Eta8=0.000000000000000
+LengthPredictedDrift8=0.000000000000000
+PredictedSet8=0.000000000000000
+PredictedSog8=0.000000000000000
+PredictedTime8=0.000000000000000
+PredictedTwa28=0.000000000000000
+PredictedTwd8=0.000000000000000
+PredictedTws8=0.000000000000000
+Mk9=5058ROAD
+Cog9=0.000000000000000
+Eta9=0.000000000000000
+LengthPredictedDrift9=0.000000000000000
+PredictedSet9=0.000000000000000
+PredictedSog9=0.000000000000000
+PredictedTime9=0.000000000000000
+PredictedTwa29=0.000000000000000
+PredictedTwd9=0.000000000000000
+PredictedTws9=0.000000000000000
+Mk10=5150TANK
+Cog10=0.000000000000000
+Eta10=0.000000000000000
+LengthPredictedDrift10=0.000000000000000
+PredictedSet10=0.000000000000000
+PredictedSog10=0.000000000000000
+PredictedTime10=0.000000000000000
+PredictedTwa210=0.000000000000000
+PredictedTwd10=0.000000000000000
+PredictedTws10=0.000000000000000
+Mk11=5142
+Cog11=0.000000000000000
+Eta11=0.000000000000000
+LengthPredictedDrift11=0.000000000000000
+PredictedSet11=0.000000000000000
+PredictedSog11=0.000000000000000
+PredictedTime11=0.000000000000000
+PredictedTwa211=0.000000000000000
+PredictedTwd11=0.000000000000000
+PredictedTws11=0.000000000000000
+Mk12=5144SUMMIT
+Cog12=0.000000000000000
+Eta12=0.000000000000000
+LengthPredictedDrift12=0.000000000000000
+PredictedSet12=0.000000000000000
+PredictedSog12=0.000000000000000
+PredictedTime12=0.000000000000000
+PredictedTwa212=0.000000000000000
+PredictedTwd12=0.000000000000000
+PredictedTws12=0.000000000000000
+Mk13=5156
+Cog13=0.000000000000000
+Eta13=0.000000000000000
+LengthPredictedDrift13=0.000000000000000
+PredictedSet13=0.000000000000000
+PredictedSog13=0.000000000000000
+PredictedTime13=0.000000000000000
+PredictedTwa213=0.000000000000000
+PredictedTwd13=0.000000000000000
+PredictedTws13=0.000000000000000
+Mk14=5148NANEPA
+Cog14=0.000000000000000
+Eta14=0.000000000000000
+LengthPredictedDrift14=0.000000000000000
+PredictedSet14=0.000000000000000
+PredictedSog14=0.000000000000000
+PredictedTime14=0.000000000000000
+PredictedTwa214=0.000000000000000
+PredictedTwd14=0.000000000000000
+PredictedTws14=0.000000000000000
+Mk15=5258
+Cog15=0.000000000000000
+Eta15=0.000000000000000
+LengthPredictedDrift15=0.000000000000000
+PredictedSet15=0.000000000000000
+PredictedSog15=0.000000000000000
+PredictedTime15=0.000000000000000
+PredictedTwa215=0.000000000000000
+PredictedTwd15=0.000000000000000
+PredictedTws15=0.000000000000000
+Mk16=5252PURPLE
+Cog16=0.000000000000000
+Eta16=0.000000000000000
+LengthPredictedDrift16=0.000000000000000
+PredictedSet16=0.000000000000000
+PredictedSog16=0.000000000000000
+PredictedTime16=0.000000000000000
+PredictedTwa216=0.000000000000000
+PredictedTwd16=0.000000000000000
+PredictedTws16=0.000000000000000
+Mk17=527631
+Cog17=0.000000000000000
+Eta17=0.000000000000000
+LengthPredictedDrift17=0.000000000000000
+PredictedSet17=0.000000000000000
+PredictedSog17=0.000000000000000
+PredictedTime17=0.000000000000000
+PredictedTwa217=0.000000000000000
+PredictedTwd17=0.000000000000000
+PredictedTws17=0.000000000000000
+Mk18=527614
+Cog18=0.000000000000000
+Eta18=0.000000000000000
+LengthPredictedDrift18=0.000000000000000
+PredictedSet18=0.000000000000000
+PredictedSog18=0.000000000000000
+PredictedTime18=0.000000000000000
+PredictedTwa218=0.000000000000000
+PredictedTwd18=0.000000000000000
+PredictedTws18=0.000000000000000
+Mk19=5267OBSTAC
+Cog19=0.000000000000000
+Eta19=0.000000000000000
+LengthPredictedDrift19=0.000000000000000
+PredictedSet19=0.000000000000000
+PredictedSog19=0.000000000000000
+PredictedTime19=0.000000000000000
+PredictedTwa219=0.000000000000000
+PredictedTwd19=0.000000000000000
+PredictedTws19=0.000000000000000
+Mk20=5278
+Cog20=0.000000000000000
+Eta20=0.000000000000000
+LengthPredictedDrift20=0.000000000000000
+PredictedSet20=0.000000000000000
+PredictedSog20=0.000000000000000
+PredictedTime20=0.000000000000000
+PredictedTwa220=0.000000000000000
+PredictedTwd20=0.000000000000000
+PredictedTws20=0.000000000000000
+Mk21=5289
+Cog21=0.000000000000000
+Eta21=0.000000000000000
+LengthPredictedDrift21=0.000000000000000
+PredictedSet21=0.000000000000000
+PredictedSog21=0.000000000000000
+PredictedTime21=0.000000000000000
+PredictedTwa221=0.000000000000000
+PredictedTwd21=0.000000000000000
+PredictedTws21=0.000000000000000
+Mk22=5374FIRE
+Cog22=0.000000000000000
+Eta22=0.000000000000000
+LengthPredictedDrift22=0.000000000000000
+PredictedSet22=0.000000000000000
+PredictedSog22=0.000000000000000
+PredictedTime22=0.000000000000000
+PredictedTwa222=0.000000000000000
+PredictedTwd22=0.000000000000000
+PredictedTws22=0.000000000000000
+Mk23=5376
+Cog23=0.000000000000000
+Eta23=0.000000000000000
+LengthPredictedDrift23=0.000000000000000
+PredictedSet23=0.000000000000000
+PredictedSog23=0.000000000000000
+PredictedTime23=0.000000000000000
+PredictedTwa223=0.000000000000000
+PredictedTwd23=0.000000000000000
+PredictedTws23=0.000000000000000
+Mk24=5376STREAM
+Cog24=0.000000000000000
+Eta24=0.000000000000000
+LengthPredictedDrift24=0.000000000000000
+PredictedSet24=0.000000000000000
+PredictedSog24=0.000000000000000
+PredictedTime24=0.000000000000000
+PredictedTwa224=0.000000000000000
+PredictedTwd24=0.000000000000000
+PredictedTws24=0.000000000000000
+Mk25=6328
+Cog25=0.000000000000000
+Eta25=0.000000000000000
+LengthPredictedDrift25=0.000000000000000
+PredictedSet25=0.000000000000000
+PredictedSog25=0.000000000000000
+PredictedTime25=0.000000000000000
+PredictedTwa225=0.000000000000000
+PredictedTwd25=0.000000000000000
+PredictedTws25=0.000000000000000
+Mk26=635722
+Cog26=0.000000000000000
+Eta26=0.000000000000000
+LengthPredictedDrift26=0.000000000000000
+PredictedSet26=0.000000000000000
+PredictedSog26=0.000000000000000
+PredictedTime26=0.000000000000000
+PredictedTwa226=0.000000000000000
+PredictedTwd26=0.000000000000000
+PredictedTws26=0.000000000000000
+Mk27=635783
+Cog27=0.000000000000000
+Eta27=0.000000000000000
+LengthPredictedDrift27=0.000000000000000
+PredictedSet27=0.000000000000000
+PredictedSog27=0.000000000000000
+PredictedTime27=0.000000000000000
+PredictedTwa227=0.000000000000000
+PredictedTwd27=0.000000000000000
+PredictedTws27=0.000000000000000
+Mk28=6373
+Cog28=0.000000000000000
+Eta28=0.000000000000000
+LengthPredictedDrift28=0.000000000000000
+PredictedSet28=0.000000000000000
+PredictedSog28=0.000000000000000
+PredictedTime28=0.000000000000000
+PredictedTwa228=0.000000000000000
+PredictedTwd28=0.000000000000000
+PredictedTws28=0.000000000000000
+Mk29=BEAR HILL
+Cog29=0.000000000000000
+Eta29=0.000000000000000
+LengthPredictedDrift29=0.000000000000000
+PredictedSet29=0.000000000000000
+PredictedSog29=0.000000000000000
+PredictedTime29=0.000000000000000
+PredictedTwa229=0.000000000000000
+PredictedTwd29=0.000000000000000
+PredictedTws29=0.000000000000000
+Mk30=6289
+Cog30=0.000000000000000
+Eta30=0.000000000000000
+LengthPredictedDrift30=0.000000000000000
+PredictedSet30=0.000000000000000
+PredictedSog30=0.000000000000000
+PredictedTime30=0.000000000000000
+PredictedTwa230=0.000000000000000
+PredictedTwd30=0.000000000000000
+PredictedTws30=0.000000000000000
+Mk31=6297
+Cog31=0.000000000000000
+Eta31=0.000000000000000
+LengthPredictedDrift31=0.000000000000000
+PredictedSet31=0.000000000000000
+PredictedSog31=0.000000000000000
+PredictedTime31=0.000000000000000
+PredictedTwa231=0.000000000000000
+PredictedTwd31=0.000000000000000
+PredictedTws31=0.000000000000000
+Mk32=6283
+Cog32=0.000000000000000
+Eta32=0.000000000000000
+LengthPredictedDrift32=0.000000000000000
+PredictedSet32=0.000000000000000
+PredictedSog32=0.000000000000000
+PredictedTime32=0.000000000000000
+PredictedTwa232=0.000000000000000
+PredictedTwd32=0.000000000000000
+PredictedTws32=0.000000000000000
+Mk33=6280
+Cog33=0.000000000000000
+Eta33=0.000000000000000
+LengthPredictedDrift33=0.000000000000000
+PredictedSet33=0.000000000000000
+PredictedSog33=0.000000000000000
+PredictedTime33=0.000000000000000
+PredictedTwa233=0.000000000000000
+PredictedTwd33=0.000000000000000
+PredictedTws33=0.000000000000000
+Mk34=6177
+Cog34=0.000000000000000
+Eta34=0.000000000000000
+LengthPredictedDrift34=0.000000000000000
+PredictedSet34=0.000000000000000
+PredictedSog34=0.000000000000000
+PredictedTime34=0.000000000000000
+PredictedTwa234=0.000000000000000
+PredictedTwd34=0.000000000000000
+PredictedTws34=0.000000000000000
+Mk35=6176
+Cog35=0.000000000000000
+Eta35=0.000000000000000
+LengthPredictedDrift35=0.000000000000000
+PredictedSet35=0.000000000000000
+PredictedSog35=0.000000000000000
+PredictedTime35=0.000000000000000
+PredictedTwa235=0.000000000000000
+PredictedTwd35=0.000000000000000
+PredictedTws35=0.000000000000000
+Mk36=6153
+Cog36=0.000000000000000
+Eta36=0.000000000000000
+LengthPredictedDrift36=0.000000000000000
+PredictedSet36=0.000000000000000
+PredictedSog36=0.000000000000000
+PredictedTime36=0.000000000000000
+PredictedTwa236=0.000000000000000
+PredictedTwd36=0.000000000000000
+PredictedTws36=0.000000000000000
+Mk37=6171
+Cog37=0.000000000000000
+Eta37=0.000000000000000
+LengthPredictedDrift37=0.000000000000000
+PredictedSet37=0.000000000000000
+PredictedSog37=0.000000000000000
+PredictedTime37=0.000000000000000
+PredictedTwa237=0.000000000000000
+PredictedTwd37=0.000000000000000
+PredictedTws37=0.000000000000000
+Mk38=6131
+Cog38=0.000000000000000
+Eta38=0.000000000000000
+LengthPredictedDrift38=0.000000000000000
+PredictedSet38=0.000000000000000
+PredictedSog38=0.000000000000000
+PredictedTime38=0.000000000000000
+PredictedTwa238=0.000000000000000
+PredictedTwd38=0.000000000000000
+PredictedTws38=0.000000000000000
+Mk39=6130
+Cog39=0.000000000000000
+Eta39=0.000000000000000
+LengthPredictedDrift39=0.000000000000000
+PredictedSet39=0.000000000000000
+PredictedSog39=0.000000000000000
+PredictedTime39=0.000000000000000
+PredictedTwa239=0.000000000000000
+PredictedTwd39=0.000000000000000
+PredictedTws39=0.000000000000000
+Mk40=6029
+Cog40=0.000000000000000
+Eta40=0.000000000000000
+LengthPredictedDrift40=0.000000000000000
+PredictedSet40=0.000000000000000
+PredictedSog40=0.000000000000000
+PredictedTime40=0.000000000000000
+PredictedTwa240=0.000000000000000
+PredictedTwd40=0.000000000000000
+PredictedTws40=0.000000000000000
+Mk41=6006
+Cog41=0.000000000000000
+Eta41=0.000000000000000
+LengthPredictedDrift41=0.000000000000000
+PredictedSet41=0.000000000000000
+PredictedSog41=0.000000000000000
+PredictedTime41=0.000000000000000
+PredictedTwa241=0.000000000000000
+PredictedTwd41=0.000000000000000
+PredictedTws41=0.000000000000000
+Mk42=6014MEADOW
+Cog42=0.000000000000000
+Eta42=0.000000000000000
+LengthPredictedDrift42=0.000000000000000
+PredictedSet42=0.000000000000000
+PredictedSog42=0.000000000000000
+PredictedTime42=0.000000000000000
+PredictedTwa242=0.000000000000000
+PredictedTwd42=0.000000000000000
+PredictedTws42=0.000000000000000
+Mk43=PANTHRCAVE
+Cog43=0.000000000000000
+Eta43=0.000000000000000
+LengthPredictedDrift43=0.000000000000000
+PredictedSet43=0.000000000000000
+PredictedSog43=0.000000000000000
+PredictedTime43=0.000000000000000
+PredictedTwa243=0.000000000000000
+PredictedTwd43=0.000000000000000
+PredictedTws43=0.000000000000000
+Mk44=GATE6
+Cog44=0.000000000000000
+Eta44=0.000000000000000
+LengthPredictedDrift44=0.000000000000000
+PredictedSet44=0.000000000000000
+PredictedSog44=0.000000000000000
+PredictedTime44=0.000000000000000
+PredictedTwa244=0.000000000000000
+PredictedTwd44=0.000000000000000
+PredictedTws44=0.000000000000000
+Mk45=BELLEVUE
+Cog45=0.000000000000000
+Eta45=0.000000000000000
+LengthPredictedDrift45=0.000000000000000
+PredictedSet45=0.000000000000000
+PredictedSog45=0.000000000000000
+PredictedTime45=0.000000000000000
+PredictedTwa245=0.000000000000000
+PredictedTwd45=0.000000000000000
+PredictedTws45=0.000000000000000
# Height in meters [optional when importing, always present when exporting: Date (GMT) as ISO YYYYMMDD, Time of the day relative to the date as HHMMSS
GCEBB,Mountain Bike Heaven by susy1313,,35.9720333,-87.1347000,0.0 ,19700101,000000
GC1A37,The Troll by a182pilot & Family,,36.0906833,-86.6795500,0.0 ,19700101,000000
-GC1C2B,Dive Bomber by JoGPS & family,,35.9962667,-86.6201167,0.0 ,19700101,110303
+GC1C2B,Dive Bomber by JoGPS & family,,35.9962667,-86.6201167,0.0 ,19700101,110304
GC25A9,FOSTER by JoGPS & Family,,36.0384833,-86.6486167,0.0 ,19700101,130405
GC2723,Logan Lighthouse by JoGps & Family,,36.1121833,-86.7417667,0.0 ,20050102,000000
GC2B71,Ganier Cache by Susy1313,,36.0640833,-86.7905167,0.0 ,20050102,000001
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="MapSource 6.12.0.2 Beta" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
+
+ <metadata>
+ <link href="http://www.garmin.com">
+ <text>Garmin International</text>
+ </link>
+ <time>2007-02-10T21:45:23Z</time>
+ <bounds maxlat="0.0000000" maxlon="0.0000000" minlat="0.0000000" minlon="0.0000000"/>
+ </metadata>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>107.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Airport</name>
+ <cmt>MPS:0107, PCX:16384</cmt>
+ <desc>MPS:0107, PCX:16384</desc>
+ <sym>Airport</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16384.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Aviation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>73.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Amusement Park</name>
+ <cmt>MPS:0073, PCX:08204</cmt>
+ <desc>MPS:0073, PCX:08204</desc>
+ <sym>Amusement Park</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8204.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>0.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Anchor</name>
+ <cmt>MPS:0000, PCX:00000</cmt>
+ <desc>MPS:0000, PCX:00000</desc>
+ <sym>Anchor</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>155.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Anchor Prohibited</name>
+ <cmt>MPS:0155, PCX:00184</cmt>
+ <desc>MPS:0155, PCX:00184</desc>
+ <sym>Anchor Prohibited</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>184.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>242.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Animal Tracks</name>
+ <cmt>MPS:0242, PCX:-0001</cmt>
+ <desc>MPS:0242, PCX:-0001</desc>
+ <sym>Animal Tracks</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>232.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>ATV</name>
+ <cmt>MPS:0232, PCX:-0001</cmt>
+ <desc>MPS:0232, PCX:-0001</desc>
+ <sym>ATV</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>163.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Bait and Tackle</name>
+ <cmt>MPS:0163, PCX:00192</cmt>
+ <desc>MPS:0163, PCX:00192</desc>
+ <sym>Bait and Tackle</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>192.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>55.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Ball Park</name>
+ <cmt>MPS:0055, PCX:00169</cmt>
+ <desc>MPS:0055, PCX:00169</desc>
+ <sym>Ball Park</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>169.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>6.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Bank</name>
+ <cmt>MPS:0006, PCX:00006</cmt>
+ <desc>MPS:0006, PCX:00006</desc>
+ <sym>Bank</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>6.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>13.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Bar</name>
+ <cmt>MPS:0013, PCX:00013</cmt>
+ <desc>MPS:0013, PCX:00013</desc>
+ <sym>Bar</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>13.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>104.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Beach</name>
+ <cmt>MPS:0104, PCX:08244</cmt>
+ <desc>MPS:0104, PCX:08244</desc>
+ <sym>Beach</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8244.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>156.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Beacon</name>
+ <cmt>MPS:0156, PCX:00185</cmt>
+ <desc>MPS:0156, PCX:00185</desc>
+ <sym>Beacon</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>185.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>1.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Bell</name>
+ <cmt>MPS:0001, PCX:00001</cmt>
+ <desc>MPS:0001, PCX:00001</desc>
+ <sym>Bell</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>233.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Big Game</name>
+ <cmt>MPS:0233, PCX:-0001</cmt>
+ <desc>MPS:0233, PCX:-0001</desc>
+ <sym>Big Game</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>149.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Bike Trail</name>
+ <cmt>MPS:0149, PCX:08293</cmt>
+ <desc>MPS:0149, PCX:08293</desc>
+ <sym>Bike Trail</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8293.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>234.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Blind</name>
+ <cmt>MPS:0234, PCX:-0001</cmt>
+ <desc>MPS:0234, PCX:-0001</desc>
+ <sym>Blind</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>147.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Block, Blue</name>
+ <cmt>MPS:0147, PCX:08290</cmt>
+ <desc>MPS:0147, PCX:08290</desc>
+ <sym>Block, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8290.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>148.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Block, Green</name>
+ <cmt>MPS:0148, PCX:08291</cmt>
+ <desc>MPS:0148, PCX:08291</desc>
+ <sym>Block, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8291.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>146.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Block, Red</name>
+ <cmt>MPS:0146, PCX:08292</cmt>
+ <desc>MPS:0146, PCX:08292</desc>
+ <sym>Block, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8292.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>235.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Blood Trail</name>
+ <cmt>MPS:0235, PCX:-0001</cmt>
+ <desc>MPS:0235, PCX:-0001</desc>
+ <sym>Blood Trail</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>37.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Boat Ramp</name>
+ <cmt>MPS:0037, PCX:00150</cmt>
+ <desc>MPS:0037, PCX:00150</desc>
+ <sym>Boat Ramp</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>150.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>74.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Bowling</name>
+ <cmt>MPS:0074, PCX:08205</cmt>
+ <desc>MPS:0074, PCX:08205</desc>
+ <sym>Bowling</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8205.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>93.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Bridge</name>
+ <cmt>MPS:0093, PCX:08233</cmt>
+ <desc>MPS:0093, PCX:08233</desc>
+ <sym>Bridge</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8233.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>94.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Building</name>
+ <cmt>MPS:0094, PCX:08234</cmt>
+ <desc>MPS:0094, PCX:08234</desc>
+ <sym>Building</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8234.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>17.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Buoy, White</name>
+ <cmt>MPS:0017, PCX:00017</cmt>
+ <desc>MPS:0017, PCX:00017</desc>
+ <sym>Buoy, White</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>17.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>38.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Campground</name>
+ <cmt>MPS:0038, PCX:00151</cmt>
+ <desc>MPS:0038, PCX:00151</desc>
+ <sym>Campground</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>151.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>56.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Car</name>
+ <cmt>MPS:0056, PCX:00170</cmt>
+ <desc>MPS:0056, PCX:00170</desc>
+ <sym>Car</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>170.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>75.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Car Rental</name>
+ <cmt>MPS:0075, PCX:08206</cmt>
+ <desc>MPS:0075, PCX:08206</desc>
+ <sym>Car Rental</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8206.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>76.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Car Repair</name>
+ <cmt>MPS:0076, PCX:08207</cmt>
+ <desc>MPS:0076, PCX:08207</desc>
+ <sym>Car Repair</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8207.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>95.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Cemetery</name>
+ <cmt>MPS:0095, PCX:08235</cmt>
+ <desc>MPS:0095, PCX:08235</desc>
+ <sym>Cemetery</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8235.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>96.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Church</name>
+ <cmt>MPS:0096, PCX:08236</cmt>
+ <desc>MPS:0096, PCX:08236</desc>
+ <sym>Church</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8236.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>65.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Circle with X</name>
+ <cmt>MPS:0065, PCX:00179</cmt>
+ <desc>MPS:0065, PCX:00179</desc>
+ <sym>Circle with X</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>179.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>167.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Circle, Blue</name>
+ <cmt>MPS:0167, PCX:08296</cmt>
+ <desc>MPS:0167, PCX:08296</desc>
+ <sym>Circle, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8296.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>166.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Circle, Green</name>
+ <cmt>MPS:0166, PCX:08295</cmt>
+ <desc>MPS:0166, PCX:08295</desc>
+ <sym>Circle, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8295.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>165.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Circle, Red</name>
+ <cmt>MPS:0165, PCX:08294</cmt>
+ <desc>MPS:0165, PCX:08294</desc>
+ <sym>Circle, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8294.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>72.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>City (Capitol)</name>
+ <cmt>MPS:0072, PCX:08203</cmt>
+ <desc>MPS:0072, PCX:08203</desc>
+ <sym>City (Capitol)</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8203.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>71.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>City (Large)</name>
+ <cmt>MPS:0071, PCX:08200</cmt>
+ <desc>MPS:0071, PCX:08200</desc>
+ <sym>City (Large)</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8200.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>70.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>City (Medium)</name>
+ <cmt>MPS:0070, PCX:08199</cmt>
+ <desc>MPS:0070, PCX:08199</desc>
+ <sym>City (Medium)</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8199.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>69.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>City (Small)</name>
+ <cmt>MPS:0069, PCX:08198</cmt>
+ <desc>MPS:0069, PCX:08198</desc>
+ <sym>City (Small)</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8198.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>230.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>City Hall</name>
+ <cmt>MPS:0230, PCX:-0001</cmt>
+ <desc>MPS:0230, PCX:-0001</desc>
+ <sym>City Hall</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>97.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Civil</name>
+ <cmt>MPS:0097, PCX:08237</cmt>
+ <desc>MPS:0097, PCX:08237</desc>
+ <sym>Civil</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8237.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>157.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Coast Guard</name>
+ <cmt>MPS:0157, PCX:00186</cmt>
+ <desc>MPS:0157, PCX:00186</desc>
+ <sym>Coast Guard</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>186.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>119.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Afro</name>
+ <cmt>MPS:0119, PCX:08262</cmt>
+ <desc>MPS:0119, PCX:08262</desc>
+ <sym>Contact, Afro</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8262.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>120.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Alien</name>
+ <cmt>MPS:0120, PCX:08272</cmt>
+ <desc>MPS:0120, PCX:08272</desc>
+ <sym>Contact, Alien</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8272.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>121.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Ball Cap</name>
+ <cmt>MPS:0121, PCX:08258</cmt>
+ <desc>MPS:0121, PCX:08258</desc>
+ <sym>Contact, Ball Cap</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8258.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>122.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Big Ears</name>
+ <cmt>MPS:0122, PCX:08259</cmt>
+ <desc>MPS:0122, PCX:08259</desc>
+ <sym>Contact, Big Ears</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8259.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>123.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Biker</name>
+ <cmt>MPS:0123, PCX:08271</cmt>
+ <desc>MPS:0123, PCX:08271</desc>
+ <sym>Contact, Biker</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8271.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>221.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Blonde</name>
+ <cmt>MPS:0221, PCX:-0001</cmt>
+ <desc>MPS:0221, PCX:-0001</desc>
+ <sym>Contact, Blonde</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>124.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Bug</name>
+ <cmt>MPS:0124, PCX:08273</cmt>
+ <desc>MPS:0124, PCX:08273</desc>
+ <sym>Contact, Bug</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8273.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>125.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Cat</name>
+ <cmt>MPS:0125, PCX:08274</cmt>
+ <desc>MPS:0125, PCX:08274</desc>
+ <sym>Contact, Cat</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8274.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>222.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Clown</name>
+ <cmt>MPS:0222, PCX:-0001</cmt>
+ <desc>MPS:0222, PCX:-0001</desc>
+ <sym>Contact, Clown</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>126.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Dog</name>
+ <cmt>MPS:0126, PCX:08275</cmt>
+ <desc>MPS:0126, PCX:08275</desc>
+ <sym>Contact, Dog</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8275.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>127.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Dreadlocks</name>
+ <cmt>MPS:0127, PCX:08263</cmt>
+ <desc>MPS:0127, PCX:08263</desc>
+ <sym>Contact, Dreadlocks</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8263.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>128.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Female1</name>
+ <cmt>MPS:0128, PCX:08264</cmt>
+ <desc>MPS:0128, PCX:08264</desc>
+ <sym>Contact, Female1</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8264.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>129.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Female2</name>
+ <cmt>MPS:0129, PCX:08265</cmt>
+ <desc>MPS:0129, PCX:08265</desc>
+ <sym>Contact, Female2</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8265.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>130.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Female3</name>
+ <cmt>MPS:0130, PCX:08266</cmt>
+ <desc>MPS:0130, PCX:08266</desc>
+ <sym>Contact, Female3</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8266.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>223.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Glasses</name>
+ <cmt>MPS:0223, PCX:-0001</cmt>
+ <desc>MPS:0223, PCX:-0001</desc>
+ <sym>Contact, Glasses</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>131.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Goatee</name>
+ <cmt>MPS:0131, PCX:08261</cmt>
+ <desc>MPS:0131, PCX:08261</desc>
+ <sym>Contact, Goatee</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8261.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>132.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Kung-Fu</name>
+ <cmt>MPS:0132, PCX:08268</cmt>
+ <desc>MPS:0132, PCX:08268</desc>
+ <sym>Contact, Kung-Fu</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8268.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>224.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Panda</name>
+ <cmt>MPS:0224, PCX:-0001</cmt>
+ <desc>MPS:0224, PCX:-0001</desc>
+ <sym>Contact, Panda</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>133.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Pig</name>
+ <cmt>MPS:0133, PCX:08276</cmt>
+ <desc>MPS:0133, PCX:08276</desc>
+ <sym>Contact, Pig</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8276.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>134.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Pirate</name>
+ <cmt>MPS:0134, PCX:08270</cmt>
+ <desc>MPS:0134, PCX:08270</desc>
+ <sym>Contact, Pirate</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8270.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>135.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Ranger</name>
+ <cmt>MPS:0135, PCX:08267</cmt>
+ <desc>MPS:0135, PCX:08267</desc>
+ <sym>Contact, Ranger</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8267.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>136.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Smiley</name>
+ <cmt>MPS:0136, PCX:08257</cmt>
+ <desc>MPS:0136, PCX:08257</desc>
+ <sym>Contact, Smiley</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8257.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>137.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Spike</name>
+ <cmt>MPS:0137, PCX:08260</cmt>
+ <desc>MPS:0137, PCX:08260</desc>
+ <sym>Contact, Spike</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8260.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>138.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Contact, Sumo</name>
+ <cmt>MPS:0138, PCX:08269</cmt>
+ <desc>MPS:0138, PCX:08269</desc>
+ <sym>Contact, Sumo</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8269.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Contact</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>52.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Controlled Area</name>
+ <cmt>MPS:0052, PCX:00165</cmt>
+ <desc>MPS:0052, PCX:00165</desc>
+ <sym>Controlled Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>165.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>89.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Convenience Store</name>
+ <cmt>MPS:0089, PCX:08220</cmt>
+ <desc>MPS:0089, PCX:08220</desc>
+ <sym>Convenience Store</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8220.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>236.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Cover</name>
+ <cmt>MPS:0236, PCX:-0001</cmt>
+ <desc>MPS:0236, PCX:-0001</desc>
+ <sym>Cover</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>237.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Covey</name>
+ <cmt>MPS:0237, PCX:-0001</cmt>
+ <desc>MPS:0237, PCX:-0001</desc>
+ <sym>Covey</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>98.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Crossing</name>
+ <cmt>MPS:0098, PCX:08238</cmt>
+ <desc>MPS:0098, PCX:08238</desc>
+ <sym>Crossing</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8238.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>500.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Custom 0</name>
+ <cmt>MPS:0500, PCX:07680</cmt>
+ <desc>MPS:0500, PCX:07680</desc>
+ <sym>Custom 0</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>7680.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Custom</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>501.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Custom 1</name>
+ <cmt>MPS:0501, PCX:07681</cmt>
+ <desc>MPS:0501, PCX:07681</desc>
+ <sym>Custom 1</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>7681.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Custom</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>502.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Custom 2</name>
+ <cmt>MPS:0502, PCX:07682</cmt>
+ <desc>MPS:0502, PCX:07682</desc>
+ <sym>Custom 2</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>7682.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Custom</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>503.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Custom 3</name>
+ <cmt>MPS:0503, PCX:07683</cmt>
+ <desc>MPS:0503, PCX:07683</desc>
+ <sym>Custom 3</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>7683.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Custom</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>504.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Custom 4</name>
+ <cmt>MPS:0504, PCX:07684</cmt>
+ <desc>MPS:0504, PCX:07684</desc>
+ <sym>Custom 4</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>7684.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Custom</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>505.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Custom 5</name>
+ <cmt>MPS:0505, PCX:07685</cmt>
+ <desc>MPS:0505, PCX:07685</desc>
+ <sym>Custom 5</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>7685.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Custom</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>506.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Custom 6</name>
+ <cmt>MPS:0506, PCX:07686</cmt>
+ <desc>MPS:0506, PCX:07686</desc>
+ <sym>Custom 6</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>7686.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Custom</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>507.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Custom 7</name>
+ <cmt>MPS:0507, PCX:07687</cmt>
+ <desc>MPS:0507, PCX:07687</desc>
+ <sym>Custom 7</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>7687.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Custom</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>51.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Dam</name>
+ <cmt>MPS:0051, PCX:00164</cmt>
+ <desc>MPS:0051, PCX:00164</desc>
+ <sym>Dam</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>164.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>53.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Danger Area</name>
+ <cmt>MPS:0053, PCX:00166</cmt>
+ <desc>MPS:0053, PCX:00166</desc>
+ <sym>Danger Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>166.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>87.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Department Store</name>
+ <cmt>MPS:0087, PCX:08218</cmt>
+ <desc>MPS:0087, PCX:08218</desc>
+ <sym>Department Store</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8218.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>168.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Diamond, Blue</name>
+ <cmt>MPS:0168, PCX:08299</cmt>
+ <desc>MPS:0168, PCX:08299</desc>
+ <sym>Diamond, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8299.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>2.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Diamond, Green</name>
+ <cmt>MPS:0002, PCX:00002</cmt>
+ <desc>MPS:0002, PCX:00002</desc>
+ <sym>Diamond, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>2.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>3.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Diamond, Red</name>
+ <cmt>MPS:0003, PCX:00003</cmt>
+ <desc>MPS:0003, PCX:00003</desc>
+ <sym>Diamond, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>3.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>4.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Diver Down Flag 1</name>
+ <cmt>MPS:0004, PCX:00004</cmt>
+ <desc>MPS:0004, PCX:00004</desc>
+ <sym>Diver Down Flag 1</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>4.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>5.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Diver Down Flag 2</name>
+ <cmt>MPS:0005, PCX:00005</cmt>
+ <desc>MPS:0005, PCX:00005</desc>
+ <sym>Diver Down Flag 2</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>5.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>161.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Dock</name>
+ <cmt>MPS:0161, PCX:00190</cmt>
+ <desc>MPS:0161, PCX:00190</desc>
+ <sym>Dock</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>190.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>35.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Dot, White</name>
+ <cmt>MPS:0035, PCX:00036</cmt>
+ <desc>MPS:0035, PCX:00036</desc>
+ <sym>Dot, White</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>36.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>160.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Dropoff</name>
+ <cmt>MPS:0160, PCX:00189</cmt>
+ <desc>MPS:0160, PCX:00189</desc>
+ <sym>Dropoff</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>189.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>63.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Exit</name>
+ <cmt>MPS:0063, PCX:00177</cmt>
+ <desc>MPS:0063, PCX:00177</desc>
+ <sym>Exit</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>177.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>77.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Fast Food</name>
+ <cmt>MPS:0077, PCX:08208</cmt>
+ <desc>MPS:0077, PCX:08208</desc>
+ <sym>Fast Food</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8208.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>7.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Fishing Area</name>
+ <cmt>MPS:0007, PCX:00007</cmt>
+ <desc>MPS:0007, PCX:00007</desc>
+ <sym>Fishing Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>7.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>150.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Fishing Hot Spot Facility</name>
+ <cmt>MPS:0150, PCX:00181</cmt>
+ <desc>MPS:0150, PCX:00181</desc>
+ <sym>Fishing Hot Spot Facility</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>181.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>78.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Fitness Center</name>
+ <cmt>MPS:0078, PCX:08209</cmt>
+ <desc>MPS:0078, PCX:08209</desc>
+ <sym>Fitness Center</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8209.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>64.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Flag</name>
+ <cmt>MPS:0064, PCX:00178</cmt>
+ <desc>MPS:0064, PCX:00178</desc>
+ <sym>Flag</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>178.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>141.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Flag, Blue</name>
+ <cmt>MPS:0141, PCX:08284</cmt>
+ <desc>MPS:0141, PCX:08284</desc>
+ <sym>Flag, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8284.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>142.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Flag, Green</name>
+ <cmt>MPS:0142, PCX:08285</cmt>
+ <desc>MPS:0142, PCX:08285</desc>
+ <sym>Flag, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8285.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>140.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Flag, Red</name>
+ <cmt>MPS:0140, PCX:08286</cmt>
+ <desc>MPS:0140, PCX:08286</desc>
+ <sym>Flag, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8286.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>238.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Food Source</name>
+ <cmt>MPS:0238, PCX:-0001</cmt>
+ <desc>MPS:0238, PCX:-0001</desc>
+ <sym>Food Source</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>105.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Forest</name>
+ <cmt>MPS:0105, PCX:08245</cmt>
+ <desc>MPS:0105, PCX:08245</desc>
+ <sym>Forest</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8245.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>239.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Furbearer</name>
+ <cmt>MPS:0239, PCX:-0001</cmt>
+ <desc>MPS:0239, PCX:-0001</desc>
+ <sym>Furbearer</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>8.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Gas Station</name>
+ <cmt>MPS:0008, PCX:00008</cmt>
+ <desc>MPS:0008, PCX:00008</desc>
+ <sym>Gas Station</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>117.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Geocache</name>
+ <cmt>MPS:0117, PCX:08255</cmt>
+ <desc>MPS:0117, PCX:08255</desc>
+ <sym>Geocache</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8255.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>118.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Geocache Found</name>
+ <cmt>MPS:0118, PCX:08256</cmt>
+ <desc>MPS:0118, PCX:08256</desc>
+ <sym>Geocache Found</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8256.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>99.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Ghost Town</name>
+ <cmt>MPS:0099, PCX:08239</cmt>
+ <desc>MPS:0099, PCX:08239</desc>
+ <sym>Ghost Town</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8239.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>113.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Glider Area</name>
+ <cmt>MPS:0113, PCX:16393</cmt>
+ <desc>MPS:0113, PCX:16393</desc>
+ <sym>Glider Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16393.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Aviation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>68.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Golf Course</name>
+ <cmt>MPS:0068, PCX:08197</cmt>
+ <desc>MPS:0068, PCX:08197</desc>
+ <sym>Golf Course</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8197.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>229.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Ground Transportation</name>
+ <cmt>MPS:0229, PCX:-0001</cmt>
+ <desc>MPS:0229, PCX:-0001</desc>
+ <sym>Ground Transportation</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>108.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Heliport</name>
+ <cmt>MPS:0108, PCX:16388</cmt>
+ <desc>MPS:0108, PCX:16388</desc>
+ <sym>Heliport</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16388.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Aviation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>9.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Horn</name>
+ <cmt>MPS:0009, PCX:00009</cmt>
+ <desc>MPS:0009, PCX:00009</desc>
+ <sym>Horn</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>9.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>57.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Hunting Area</name>
+ <cmt>MPS:0057, PCX:00171</cmt>
+ <desc>MPS:0057, PCX:00171</desc>
+ <sym>Hunting Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>171.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>153.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Ice Skating</name>
+ <cmt>MPS:0153, PCX:08252</cmt>
+ <desc>MPS:0153, PCX:08252</desc>
+ <sym>Ice Skating</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8252.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>44.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Information</name>
+ <cmt>MPS:0044, PCX:00157</cmt>
+ <desc>MPS:0044, PCX:00157</desc>
+ <sym>Information</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>157.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>178.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter A, Blue</name>
+ <cmt>MPS:0178, PCX:08317</cmt>
+ <desc>MPS:0178, PCX:08317</desc>
+ <sym>Letter A, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8317.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>177.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter A, Green</name>
+ <cmt>MPS:0177, PCX:08313</cmt>
+ <desc>MPS:0177, PCX:08313</desc>
+ <sym>Letter A, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8313.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>176.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter A, Red</name>
+ <cmt>MPS:0176, PCX:08309</cmt>
+ <desc>MPS:0176, PCX:08309</desc>
+ <sym>Letter A, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8309.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>181.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter B, Blue</name>
+ <cmt>MPS:0181, PCX:08318</cmt>
+ <desc>MPS:0181, PCX:08318</desc>
+ <sym>Letter B, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8318.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>180.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter B, Green</name>
+ <cmt>MPS:0180, PCX:08315</cmt>
+ <desc>MPS:0180, PCX:08315</desc>
+ <sym>Letter B, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8315.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>179.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter B, Red</name>
+ <cmt>MPS:0179, PCX:08310</cmt>
+ <desc>MPS:0179, PCX:08310</desc>
+ <sym>Letter B, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8310.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>184.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter C, Blue</name>
+ <cmt>MPS:0184, PCX:08319</cmt>
+ <desc>MPS:0184, PCX:08319</desc>
+ <sym>Letter C, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8319.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>183.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter C, Green</name>
+ <cmt>MPS:0183, PCX:08314</cmt>
+ <desc>MPS:0183, PCX:08314</desc>
+ <sym>Letter C, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8314.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>182.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter C, Red</name>
+ <cmt>MPS:0182, PCX:08311</cmt>
+ <desc>MPS:0182, PCX:08311</desc>
+ <sym>Letter C, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8311.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>187.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter D, Blue</name>
+ <cmt>MPS:0187, PCX:08320</cmt>
+ <desc>MPS:0187, PCX:08320</desc>
+ <sym>Letter D, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8320.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>186.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter D, Green</name>
+ <cmt>MPS:0186, PCX:08316</cmt>
+ <desc>MPS:0186, PCX:08316</desc>
+ <sym>Letter D, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8316.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>185.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letter D, Red</name>
+ <cmt>MPS:0185, PCX:08312</cmt>
+ <desc>MPS:0185, PCX:08312</desc>
+ <sym>Letter D, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8312.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Letter</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>226.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Letterbox Cache</name>
+ <cmt>MPS:0226, PCX:-0001</cmt>
+ <desc>MPS:0226, PCX:-0001</desc>
+ <sym>Letterbox Cache</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>100.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Levee</name>
+ <cmt>MPS:0100, PCX:08240</cmt>
+ <desc>MPS:0100, PCX:08240</desc>
+ <sym>Levee</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8240.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>228.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Library</name>
+ <cmt>MPS:0228, PCX:-0001</cmt>
+ <desc>MPS:0228, PCX:-0001</desc>
+ <sym>Library</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>12.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Light</name>
+ <cmt>MPS:0012, PCX:00012</cmt>
+ <desc>MPS:0012, PCX:00012</desc>
+ <sym>Light</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>12.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>90.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Live Theater</name>
+ <cmt>MPS:0090, PCX:08221</cmt>
+ <desc>MPS:0090, PCX:08221</desc>
+ <sym>Live Theater</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8221.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>240.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Lodge</name>
+ <cmt>MPS:0240, PCX:-0001</cmt>
+ <desc>MPS:0240, PCX:-0001</desc>
+ <sym>Lodge</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>59.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Lodging</name>
+ <cmt>MPS:0059, PCX:00173</cmt>
+ <desc>MPS:0059, PCX:00173</desc>
+ <sym>Lodging</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>173.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>20.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Man Overboard</name>
+ <cmt>MPS:0020, PCX:00021</cmt>
+ <desc>MPS:0020, PCX:00021</desc>
+ <sym>Man Overboard</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>21.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>162.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Marina</name>
+ <cmt>MPS:0162, PCX:00191</cmt>
+ <desc>MPS:0162, PCX:00191</desc>
+ <sym>Marina</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>191.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>43.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Medical Facility</name>
+ <cmt>MPS:0043, PCX:00156</cmt>
+ <desc>MPS:0043, PCX:00156</desc>
+ <sym>Medical Facility</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>156.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>66.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Mile Marker</name>
+ <cmt>MPS:0066, PCX:08195</cmt>
+ <desc>MPS:0066, PCX:08195</desc>
+ <sym>Mile Marker</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8195.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>101.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Military</name>
+ <cmt>MPS:0101, PCX:08241</cmt>
+ <desc>MPS:0101, PCX:08241</desc>
+ <sym>Military</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8241.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>60.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Mine</name>
+ <cmt>MPS:0060, PCX:00174</cmt>
+ <desc>MPS:0060, PCX:00174</desc>
+ <sym>Mine</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>174.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>79.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Movie Theater</name>
+ <cmt>MPS:0079, PCX:08210</cmt>
+ <desc>MPS:0079, PCX:08210</desc>
+ <sym>Movie Theater</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8210.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>225.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Multi-Cache</name>
+ <cmt>MPS:0225, PCX:08217</cmt>
+ <desc>MPS:0225, PCX:08217</desc>
+ <sym>Stadium</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8217.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>80.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Museum</name>
+ <cmt>MPS:0080, PCX:08211</cmt>
+ <desc>MPS:0080, PCX:08211</desc>
+ <sym>Museum</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8211.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>21.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Amber</name>
+ <cmt>MPS:0021, PCX:00022</cmt>
+ <desc>MPS:0021, PCX:00022</desc>
+ <sym>Navaid, Amber</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>22.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>22.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Black</name>
+ <cmt>MPS:0022, PCX:00023</cmt>
+ <desc>MPS:0022, PCX:00023</desc>
+ <sym>Navaid, Black</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>23.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>23.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Blue</name>
+ <cmt>MPS:0023, PCX:00024</cmt>
+ <desc>MPS:0023, PCX:00024</desc>
+ <sym>Navaid, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>24.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>24.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Green</name>
+ <cmt>MPS:0024, PCX:00025</cmt>
+ <desc>MPS:0024, PCX:00025</desc>
+ <sym>Navaid, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>25.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>25.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Green/Red</name>
+ <cmt>MPS:0025, PCX:00026</cmt>
+ <desc>MPS:0025, PCX:00026</desc>
+ <sym>Navaid, Green/Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>26.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>26.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Green/White</name>
+ <cmt>MPS:0026, PCX:00027</cmt>
+ <desc>MPS:0026, PCX:00027</desc>
+ <sym>Navaid, Green/White</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>27.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>27.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Orange</name>
+ <cmt>MPS:0027, PCX:00028</cmt>
+ <desc>MPS:0027, PCX:00028</desc>
+ <sym>Navaid, Orange</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>28.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>28.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Red</name>
+ <cmt>MPS:0028, PCX:00029</cmt>
+ <desc>MPS:0028, PCX:00029</desc>
+ <sym>Navaid, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>29.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>29.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Red/Green</name>
+ <cmt>MPS:0029, PCX:00030</cmt>
+ <desc>MPS:0029, PCX:00030</desc>
+ <sym>Navaid, Red/Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>30.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>30.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Red/White</name>
+ <cmt>MPS:0030, PCX:00031</cmt>
+ <desc>MPS:0030, PCX:00031</desc>
+ <sym>Navaid, Red/White</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>31.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>31.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, Violet</name>
+ <cmt>MPS:0031, PCX:00032</cmt>
+ <desc>MPS:0031, PCX:00032</desc>
+ <sym>Navaid, Violet</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>32.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>32.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, White</name>
+ <cmt>MPS:0032, PCX:00033</cmt>
+ <desc>MPS:0032, PCX:00033</desc>
+ <sym>Navaid, White</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>33.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>33.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, White/Green</name>
+ <cmt>MPS:0033, PCX:00034</cmt>
+ <desc>MPS:0033, PCX:00034</desc>
+ <sym>Navaid, White/Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>34.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>34.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Navaid, White/Red</name>
+ <cmt>MPS:0034, PCX:00035</cmt>
+ <desc>MPS:0034, PCX:00035</desc>
+ <sym>Navaid, White/Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>35.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>190.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 0, Blue</name>
+ <cmt>MPS:0190, PCX:08341</cmt>
+ <desc>MPS:0190, PCX:08341</desc>
+ <sym>Number 0, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8341.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>189.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 0, Green</name>
+ <cmt>MPS:0189, PCX:08331</cmt>
+ <desc>MPS:0189, PCX:08331</desc>
+ <sym>Number 0, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8331.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>188.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 0, Red</name>
+ <cmt>MPS:0188, PCX:08321</cmt>
+ <desc>MPS:0188, PCX:08321</desc>
+ <sym>Number 0, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8321.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>193.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 1, Blue</name>
+ <cmt>MPS:0193, PCX:08342</cmt>
+ <desc>MPS:0193, PCX:08342</desc>
+ <sym>Number 1, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8342.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>192.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 1, Green</name>
+ <cmt>MPS:0192, PCX:08332</cmt>
+ <desc>MPS:0192, PCX:08332</desc>
+ <sym>Number 1, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8332.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>191.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 1, Red</name>
+ <cmt>MPS:0191, PCX:08322</cmt>
+ <desc>MPS:0191, PCX:08322</desc>
+ <sym>Number 1, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8322.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>196.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 2, Blue</name>
+ <cmt>MPS:0196, PCX:08343</cmt>
+ <desc>MPS:0196, PCX:08343</desc>
+ <sym>Number 2, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8343.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>195.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 2, Green</name>
+ <cmt>MPS:0195, PCX:08333</cmt>
+ <desc>MPS:0195, PCX:08333</desc>
+ <sym>Number 2, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8333.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>194.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 2, Red</name>
+ <cmt>MPS:0194, PCX:08323</cmt>
+ <desc>MPS:0194, PCX:08323</desc>
+ <sym>Number 2, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8323.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>199.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 3, Blue</name>
+ <cmt>MPS:0199, PCX:08344</cmt>
+ <desc>MPS:0199, PCX:08344</desc>
+ <sym>Number 3, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8344.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>198.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 3, Green</name>
+ <cmt>MPS:0198, PCX:08334</cmt>
+ <desc>MPS:0198, PCX:08334</desc>
+ <sym>Number 3, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8334.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>197.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 3, Red</name>
+ <cmt>MPS:0197, PCX:08324</cmt>
+ <desc>MPS:0197, PCX:08324</desc>
+ <sym>Number 3, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8324.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>202.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 4, Blue</name>
+ <cmt>MPS:0202, PCX:08345</cmt>
+ <desc>MPS:0202, PCX:08345</desc>
+ <sym>Number 4, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8345.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>201.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 4, Green</name>
+ <cmt>MPS:0201, PCX:08335</cmt>
+ <desc>MPS:0201, PCX:08335</desc>
+ <sym>Number 4, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8335.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>200.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 4, Red</name>
+ <cmt>MPS:0200, PCX:08325</cmt>
+ <desc>MPS:0200, PCX:08325</desc>
+ <sym>Number 4, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8325.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>205.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 5, Blue</name>
+ <cmt>MPS:0205, PCX:08346</cmt>
+ <desc>MPS:0205, PCX:08346</desc>
+ <sym>Number 5, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8346.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>204.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 5, Green</name>
+ <cmt>MPS:0204, PCX:08336</cmt>
+ <desc>MPS:0204, PCX:08336</desc>
+ <sym>Number 5, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8336.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>203.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 5, Red</name>
+ <cmt>MPS:0203, PCX:08326</cmt>
+ <desc>MPS:0203, PCX:08326</desc>
+ <sym>Number 5, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8326.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>208.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 6, Blue</name>
+ <cmt>MPS:0208, PCX:08347</cmt>
+ <desc>MPS:0208, PCX:08347</desc>
+ <sym>Number 6, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8347.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>207.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 6, Green</name>
+ <cmt>MPS:0207, PCX:08337</cmt>
+ <desc>MPS:0207, PCX:08337</desc>
+ <sym>Number 6, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8337.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>206.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 6, Red</name>
+ <cmt>MPS:0206, PCX:08327</cmt>
+ <desc>MPS:0206, PCX:08327</desc>
+ <sym>Number 6, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8327.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>211.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 7, Blue</name>
+ <cmt>MPS:0211, PCX:08348</cmt>
+ <desc>MPS:0211, PCX:08348</desc>
+ <sym>Number 7, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8348.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>210.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 7, Green</name>
+ <cmt>MPS:0210, PCX:08338</cmt>
+ <desc>MPS:0210, PCX:08338</desc>
+ <sym>Number 7, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8338.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>209.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 7, Red</name>
+ <cmt>MPS:0209, PCX:08328</cmt>
+ <desc>MPS:0209, PCX:08328</desc>
+ <sym>Number 7, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8328.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>214.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 8, Blue</name>
+ <cmt>MPS:0214, PCX:08349</cmt>
+ <desc>MPS:0214, PCX:08349</desc>
+ <sym>Number 8, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8349.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>213.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 8, Green</name>
+ <cmt>MPS:0213, PCX:08339</cmt>
+ <desc>MPS:0213, PCX:08339</desc>
+ <sym>Number 8, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8339.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>212.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 8, Red</name>
+ <cmt>MPS:0212, PCX:08329</cmt>
+ <desc>MPS:0212, PCX:08329</desc>
+ <sym>Number 8, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8329.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>217.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 9, Blue</name>
+ <cmt>MPS:0217, PCX:08350</cmt>
+ <desc>MPS:0217, PCX:08350</desc>
+ <sym>Number 9, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8350.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>216.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 9, Green</name>
+ <cmt>MPS:0216, PCX:08340</cmt>
+ <desc>MPS:0216, PCX:08340</desc>
+ <sym>Number 9, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8340.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>215.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Number 9, Red</name>
+ <cmt>MPS:0215, PCX:08330</cmt>
+ <desc>MPS:0215, PCX:08330</desc>
+ <sym>Number 9, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8330.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Number</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>102.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Oil Field</name>
+ <cmt>MPS:0102, PCX:08242</cmt>
+ <desc>MPS:0102, PCX:08242</desc>
+ <sym>Oil Field</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8242.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>171.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Oval, Blue</name>
+ <cmt>MPS:0171, PCX:08302</cmt>
+ <desc>MPS:0171, PCX:08302</desc>
+ <sym>Oval, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8302.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>170.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Oval, Green</name>
+ <cmt>MPS:0170, PCX:08301</cmt>
+ <desc>MPS:0170, PCX:08301</desc>
+ <sym>Oval, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8301.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>169.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Oval, Red</name>
+ <cmt>MPS:0169, PCX:08300</cmt>
+ <desc>MPS:0169, PCX:08300</desc>
+ <sym>Oval, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8300.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>115.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Parachute Area</name>
+ <cmt>MPS:0115, PCX:16395</cmt>
+ <desc>MPS:0115, PCX:16395</desc>
+ <sym>Parachute Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16395.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Aviation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>46.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Park</name>
+ <cmt>MPS:0046, PCX:00159</cmt>
+ <desc>MPS:0046, PCX:00159</desc>
+ <sym>Park</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>159.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>45.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Parking Area</name>
+ <cmt>MPS:0045, PCX:00158</cmt>
+ <desc>MPS:0045, PCX:00158</desc>
+ <sym>Parking Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>158.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>81.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Pharmacy</name>
+ <cmt>MPS:0081, PCX:08212</cmt>
+ <desc>MPS:0081, PCX:08212</desc>
+ <sym>Pharmacy</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8212.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>47.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Picnic Area</name>
+ <cmt>MPS:0047, PCX:00160</cmt>
+ <desc>MPS:0047, PCX:00160</desc>
+ <sym>Picnic Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>160.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>144.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Pin, Blue</name>
+ <cmt>MPS:0144, PCX:08287</cmt>
+ <desc>MPS:0144, PCX:08287</desc>
+ <sym>Pin, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8287.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>145.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Pin, Green</name>
+ <cmt>MPS:0145, PCX:08288</cmt>
+ <desc>MPS:0145, PCX:08288</desc>
+ <sym>Pin, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8288.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>143.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Pin, Red</name>
+ <cmt>MPS:0143, PCX:08289</cmt>
+ <desc>MPS:0143, PCX:08289</desc>
+ <sym>Pin, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8289.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>82.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Pizza</name>
+ <cmt>MPS:0082, PCX:08213</cmt>
+ <desc>MPS:0082, PCX:08213</desc>
+ <sym>Pizza</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8213.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>151.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Police Station</name>
+ <cmt>MPS:0151, PCX:08249</cmt>
+ <desc>MPS:0151, PCX:08249</desc>
+ <sym>Police Station</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8249.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>83.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Post Office</name>
+ <cmt>MPS:0083, PCX:08214</cmt>
+ <desc>MPS:0083, PCX:08214</desc>
+ <sym>Post Office</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8214.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>109.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Private Field</name>
+ <cmt>MPS:0109, PCX:16389</cmt>
+ <desc>MPS:0109, PCX:16389</desc>
+ <sym>Private Field</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16389.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Aviation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>227.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Puzzle Cache</name>
+ <cmt>MPS:0227, PCX:-0001</cmt>
+ <desc>MPS:0227, PCX:-0001</desc>
+ <sym>Puzzle Cache</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>36.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Radio Beacon</name>
+ <cmt>MPS:0036, PCX:00037</cmt>
+ <desc>MPS:0036, PCX:00037</desc>
+ <sym>Radio Beacon</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>37.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Navigation Aid</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>174.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Rectangle, Blue</name>
+ <cmt>MPS:0174, PCX:08305</cmt>
+ <desc>MPS:0174, PCX:08305</desc>
+ <sym>Rectangle, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8305.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>173.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Rectangle, Green</name>
+ <cmt>MPS:0173, PCX:08304</cmt>
+ <desc>MPS:0173, PCX:08304</desc>
+ <sym>Rectangle, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8304.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>172.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Rectangle, Red</name>
+ <cmt>MPS:0172, PCX:08303</cmt>
+ <desc>MPS:0172, PCX:08303</desc>
+ <sym>Rectangle, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8303.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>158.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Reef</name>
+ <cmt>MPS:0158, PCX:00187</cmt>
+ <desc>MPS:0158, PCX:00187</desc>
+ <sym>Reef</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>187.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>10.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Residence</name>
+ <cmt>MPS:0010, PCX:00010</cmt>
+ <desc>MPS:0010, PCX:00010</desc>
+ <sym>Residence</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>10.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>11.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Restaurant</name>
+ <cmt>MPS:0011, PCX:00011</cmt>
+ <desc>MPS:0011, PCX:00011</desc>
+ <sym>Restaurant</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>11.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>54.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Restricted Area</name>
+ <cmt>MPS:0054, PCX:00167</cmt>
+ <desc>MPS:0054, PCX:00167</desc>
+ <sym>Restricted Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>167.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>39.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Restroom</name>
+ <cmt>MPS:0039, PCX:00152</cmt>
+ <desc>MPS:0039, PCX:00152</desc>
+ <sym>Restroom</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>152.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>84.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>RV Park</name>
+ <cmt>MPS:0084, PCX:08215</cmt>
+ <desc>MPS:0084, PCX:08215</desc>
+ <sym>RV Park</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8215.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>91.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Scales</name>
+ <cmt>MPS:0091, PCX:08226</cmt>
+ <desc>MPS:0091, PCX:08226</desc>
+ <sym>Scales</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8226.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>48.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Scenic Area</name>
+ <cmt>MPS:0048, PCX:00161</cmt>
+ <desc>MPS:0048, PCX:00161</desc>
+ <sym>Scenic Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>161.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>85.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>School</name>
+ <cmt>MPS:0085, PCX:08216</cmt>
+ <desc>MPS:0085, PCX:08216</desc>
+ <sym>School</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8216.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>116.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Seaplane Base</name>
+ <cmt>MPS:0116, PCX:16402</cmt>
+ <desc>MPS:0116, PCX:16402</desc>
+ <sym>Seaplane Base</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16402.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Aviation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>19.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Shipwreck</name>
+ <cmt>MPS:0019, PCX:00019</cmt>
+ <desc>MPS:0019, PCX:00019</desc>
+ <sym>Shipwreck</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>19.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>58.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Shopping Center</name>
+ <cmt>MPS:0058, PCX:00172</cmt>
+ <desc>MPS:0058, PCX:00172</desc>
+ <sym>Shopping Center</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>172.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>112.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Short Tower</name>
+ <cmt>MPS:0112, PCX:16392</cmt>
+ <desc>MPS:0112, PCX:16392</desc>
+ <sym>Short Tower</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16392.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>40.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Shower</name>
+ <cmt>MPS:0040, PCX:00153</cmt>
+ <desc>MPS:0040, PCX:00153</desc>
+ <sym>Shower</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>153.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>152.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Ski Resort</name>
+ <cmt>MPS:0152, PCX:08251</cmt>
+ <desc>MPS:0152, PCX:08251</desc>
+ <sym>Ski Resort</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8251.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>49.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Skiing Area</name>
+ <cmt>MPS:0049, PCX:00162</cmt>
+ <desc>MPS:0049, PCX:00162</desc>
+ <sym>Skiing Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>162.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>14.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Skull and Crossbones</name>
+ <cmt>MPS:0014, PCX:00014</cmt>
+ <desc>MPS:0014, PCX:00014</desc>
+ <sym>Skull and Crossbones</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>14.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>241.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Small Game</name>
+ <cmt>MPS:0241, PCX:-0001</cmt>
+ <desc>MPS:0241, PCX:-0001</desc>
+ <sym>Small Game</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>110.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Soft Field</name>
+ <cmt>MPS:0110, PCX:16390</cmt>
+ <desc>MPS:0110, PCX:16390</desc>
+ <sym>Soft Field</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16390.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Aviation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>175.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Square, Blue</name>
+ <cmt>MPS:0175, PCX:08308</cmt>
+ <desc>MPS:0175, PCX:08308</desc>
+ <sym>Square, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8308.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>15.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Square, Green</name>
+ <cmt>MPS:0015, PCX:00015</cmt>
+ <desc>MPS:0015, PCX:00015</desc>
+ <sym>Square, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>15.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>16.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Square, Red</name>
+ <cmt>MPS:0016, PCX:00016</cmt>
+ <desc>MPS:0016, PCX:00016</desc>
+ <sym>Square, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>86.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Stadium</name>
+ <cmt>MPS:0086, PCX:08217</cmt>
+ <desc>MPS:0086, PCX:08217</desc>
+ <sym>Stadium</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8217.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>164.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Stump</name>
+ <cmt>MPS:0164, PCX:00193</cmt>
+ <desc>MPS:0164, PCX:00193</desc>
+ <sym>Stump</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>193.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>106.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Summit</name>
+ <cmt>MPS:0106, PCX:08246</cmt>
+ <desc>MPS:0106, PCX:08246</desc>
+ <sym>Summit</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8246.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>50.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Swimming Area</name>
+ <cmt>MPS:0050, PCX:00163</cmt>
+ <desc>MPS:0050, PCX:00163</desc>
+ <sym>Swimming Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>163.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>111.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Tall Tower</name>
+ <cmt>MPS:0111, PCX:16391</cmt>
+ <desc>MPS:0111, PCX:16391</desc>
+ <sym>Tall Tower</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16391.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>42.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Telephone</name>
+ <cmt>MPS:0042, PCX:00155</cmt>
+ <desc>MPS:0042, PCX:00155</desc>
+ <sym>Telephone</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>155.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>92.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Toll Booth</name>
+ <cmt>MPS:0092, PCX:08227</cmt>
+ <desc>MPS:0092, PCX:08227</desc>
+ <sym>Toll Booth</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8227.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>67.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>TracBack Point</name>
+ <cmt>MPS:0067, PCX:08196</cmt>
+ <desc>MPS:0067, PCX:08196</desc>
+ <sym>TracBack Point</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8196.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>61.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Trail Head</name>
+ <cmt>MPS:0061, PCX:00175</cmt>
+ <desc>MPS:0061, PCX:00175</desc>
+ <sym>Trail Head</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>175.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>244.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Tree Stand</name>
+ <cmt>MPS:0244, PCX:-0001</cmt>
+ <desc>MPS:0244, PCX:-0001</desc>
+ <sym>Tree Stand</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>243.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Treed Quarry</name>
+ <cmt>MPS:0243, PCX:-0001</cmt>
+ <desc>MPS:0243, PCX:-0001</desc>
+ <sym>Treed Quarry</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>218.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Triangle, Blue</name>
+ <cmt>MPS:0218, PCX:08351</cmt>
+ <desc>MPS:0218, PCX:08351</desc>
+ <sym>Triangle, Blue</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8351.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>219.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Triangle, Green</name>
+ <cmt>MPS:0219, PCX:08352</cmt>
+ <desc>MPS:0219, PCX:08352</desc>
+ <sym>Triangle, Green</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8352.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>220.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Triangle, Red</name>
+ <cmt>MPS:0220, PCX:08353</cmt>
+ <desc>MPS:0220, PCX:08353</desc>
+ <sym>Triangle, Red</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8353.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>245.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Truck</name>
+ <cmt>MPS:0245, PCX:-0001</cmt>
+ <desc>MPS:0245, PCX:-0001</desc>
+ <sym>Truck</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Outdoor</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>62.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Truck Stop</name>
+ <cmt>MPS:0062, PCX:00176</cmt>
+ <desc>MPS:0062, PCX:00176</desc>
+ <sym>Truck Stop</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>176.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>103.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Tunnel</name>
+ <cmt>MPS:0103, PCX:08243</cmt>
+ <desc>MPS:0103, PCX:08243</desc>
+ <sym>Tunnel</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8243.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>114.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Ultralight Area</name>
+ <cmt>MPS:0114, PCX:16394</cmt>
+ <desc>MPS:0114, PCX:16394</desc>
+ <sym>Ultralight Area</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>16394.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Aviation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>246.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Upland Game</name>
+ <cmt>MPS:0246, PCX:-0001</cmt>
+ <desc>MPS:0246, PCX:-0001</desc>
+ <sym>Upland Game</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>139.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Water Hydrant</name>
+ <cmt>MPS:0139, PCX:08282</cmt>
+ <desc>MPS:0139, PCX:08282</desc>
+ <sym>Water Hydrant</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8282.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Civil</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>248.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Water Source</name>
+ <cmt>MPS:0248, PCX:-0001</cmt>
+ <desc>MPS:0248, PCX:-0001</desc>
+ <sym>Water Source</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>247.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Waterfowl</name>
+ <cmt>MPS:0247, PCX:-0001</cmt>
+ <desc>MPS:0247, PCX:-0001</desc>
+ <sym>Waterfowl</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Hunting</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>18.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Waypoint</name>
+ <cmt>MPS:0018, PCX:00018</cmt>
+ <desc>MPS:0018, PCX:00018</desc>
+ <sym>Waypoint</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>18.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marker</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>159.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Weed Bed</name>
+ <cmt>MPS:0159, PCX:00188</cmt>
+ <desc>MPS:0159, PCX:00188</desc>
+ <sym>Weed Bed</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>188.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Marine</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>231.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Winery</name>
+ <cmt>MPS:0231, PCX:-0001</cmt>
+ <desc>MPS:0231, PCX:-0001</desc>
+ <sym>Winery</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>-1.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>154.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Wrecker</name>
+ <cmt>MPS:0154, PCX:08253</cmt>
+ <desc>MPS:0154, PCX:08253</desc>
+ <sym>Wrecker</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8253.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Transportation</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+ <wpt lat="0.0000000" lon="0.0000000">
+ <ele>88.0000000</ele>
+ <time>2007-02-10T21:43:28Z</time>
+ <name>Zoo</name>
+ <cmt>MPS:0088, PCX:08219</cmt>
+ <desc>MPS:0088, PCX:08219</desc>
+ <sym>Zoo</sym>
+ <extensions>
+ <gpxx:WaypointExtension xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www.garmin.com/xmlschemas/GpxExtensions/v3/GpxExtensionsv3.xsd">
+ <gpxx:Depth>8219.0000000</gpxx:Depth>
+ <gpxx:DisplayMode>SymbolAndName</gpxx:DisplayMode>
+ <gpxx:Categories>
+ <gpxx:Category>Business</gpxx:Category>
+ </gpxx:Categories>
+ </gpxx:WaypointExtension>
+ </extensions>
+ </wpt>
+
+</gpx>
<urlname>Geocaching - High Tech Treasure Hunting</urlname>\r
<time>2005-07-16T18:15:40.7599561-07:00</time>\r
<keywords>cache, geocache</keywords>\r
- <bounds minlat="46.1333333333333" minlon="-73" maxlat="46.1333333333333" maxlon="-73" />\r
+ <bounds minlat="46.1333333333333" minlon="-73" maxlat="46.1333333333333" maxlon="-73"/>\r
<wpt lat="46.1333333333333" lon="-73">\r
<time>2002-08-15T00:00:00.0000000-07:00</time>\r
<name>GC7FA4</name>\r
<groundspeak:travelbugs />\r
</groundspeak:cache>\r
</wpt>\r
-</gpx>
\ No newline at end of file
+</gpx>
<urlname>Geocaching - High Tech Treasure Hunting</urlname>\r
<time>2005-07-16T18:18:41.5712989-07:00</time>\r
<keywords>cache, geocache</keywords>\r
- <bounds minlat="35.9216666666667" minlon="-86.8616666666667" maxlat="35.9216666666667" maxlon="-86.8616666666667" />\r
+ <bounds minlat="35.9216666666667" minlon="-86.8616666666667" maxlat="35.9216666666667" maxlon="-86.8616666666667"/>\r
<wpt lat="35.9216666666667" lon="-86.8616666666667">\r
<time>2003-06-29T00:00:00.0000000-07:00</time>\r
<name>GCGCA8</name>\r
<groundspeak:travelbugs />\r
</groundspeak:cache>\r
</wpt>\r
-</gpx>
\ No newline at end of file
+</gpx>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="50.492618987" minlon ="12.105448823" maxlat="51.315169176" maxlon="12.510077152" />
+<bounds minlat="50.492618987" minlon="12.105448823" maxlat="51.315169176" maxlon="12.510077152"/>
<wpt lat="50.877340632" lon="12.433888670">
<name>3</name>
<cmt>B93</cmt>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>2005-08-30T20:58:28Z</time>
-<bounds minlat="50.500000000" minlon ="12.133333300" maxlat="51.133333300" maxlon="13.716666700" />
+<bounds minlat="50.500000000" minlon="12.133333300" maxlat="51.133333300" maxlon="13.716666700"/>
<wpt lat="51.016666700" lon="13.716666700">
<name>PLAUEN</name>
<cmt>Plauen</cmt>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="42.438878000" minlon ="-71.119689000" maxlat="42.439227000" maxlon="-71.116146000" />
+<bounds minlat="42.438878000" minlon="-71.119689000" maxlat="42.439227000" maxlon="-71.116146000"/>
<wpt lat="42.438878000" lon="-71.119277000">
<ele>44.000000</ele>
<time>2001-11-28T22:05:00Z</time>
--- /dev/null
+H SOFTWARE NAME & VERSION
+I GPSU 4.20 01 REGISTERED to 'THIS FILE CREATED BY HAND FOR GPSBABEL TEST'
+S DateFormat=dd/mm/yyyy
+S Timezone=+01:00
+S Units=N,M
+S SymbolSet=0
+
+H R DATUM
+M E WGS 84 100 0.0000000E+00 0.0000000E+00 0 0 0
+
+H COORDINATE SYSTEM
+U LAT LON DM
+
+F ID---- Latitude Longitude T O Comment
+W GCEBB N35°58.3220' W087°08.0820' I E Mountain Bike Heaven by susy1313
+W GC1A37 N36°05.4410' W086°40.7730' I E The Troll by a182pilot & Family
+W GC1C2B N35°59.7760' W086°37.2070' I E Dive Bomber by JoGPS & family
+W GC25A9 N36°02.3090' W086°38.9170' I E FOSTER by JoGPS & Family
+W GC2723 N36°06.7310' W086°44.5060' I E Logan Lighthouse by JoGps & Family
+W GC2B71 N36°03.8450' W086°47.4310' I E Ganier Cache by Susy1313
+W GC309F N36°05.2660' W086°48.5840' I E Shy's Hill by FireFighterEng33
+W GC317A N36°03.4500' W086°53.5200' I E GittyUp by JoGPS / Warner Parks
+W GC317D N36°04.9680' W086°52.0370' I E Inlighting by JoGPS / Warner Parks
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="30.045517000" minlon ="-91.610567000" maxlat="42.468655000" maxlon="-71.102973000" />
+<bounds minlat="30.045517000" minlon="-91.610567000" maxlat="42.468655000" maxlon="-71.102973000"/>
<wpt lat="42.438878000" lon="-71.119277000">
<name>5066</name>
<cmt>5066</cmt>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>2005-01-18T18:58:35Z</time>
-<bounds minlat="-30.342870000" minlon ="149.746093000" maxlat="-27.755478000" maxlon="150.477059000" />
+<bounds minlat="-30.342870000" minlon="149.746093000" maxlat="-27.755478000" maxlon="150.477059000"/>
<wpt lat="-29.480116000" lon="150.133619000">
<name>PALLMG</name>
<cmt>PALLMG</cmt>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="-30.765600000" minlon ="150.602533333" maxlat="-30.675433333" maxlon="150.725983333" />
+<bounds minlat="-30.765600000" minlon="150.602533333" maxlat="-30.675433333" maxlon="150.725983333"/>
<rte>
<name>0001</name>
<desc>IGCDATE000000: </desc>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="51.118766667" minlon ="-2.920450000" maxlat="54.118683333" maxlon="-0.293533333" />
+<bounds minlat="51.118766667" minlon="-2.920450000" maxlat="54.118683333" maxlon="-0.293533333"/>
<rte>
<name>0001</name>
<desc>IGCDATE160701: 500KTri</desc>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<gpx
+ version="1.0"
+creator="GPSBabel - http://www.gpsbabel.org"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xmlns="http://www.topografix.com/GPX/1/0"
+xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
+<time>1970-01-01T00:00:00Z</time>
+<bounds minlat="48.623286047" minlon="9.895914981" maxlat="51.593568734" maxlon="12.598730495"/>
+<wpt lat="51.593568734" lon="9.895914981">
+<time>2006-11-06T21:07:41Z</time>
+ <name>Qr1-one</name>
+ <cmt>Qr1-one</cmt>
+ <desc>notes-1</desc>
+ <sym>Red Square</sym>
+</wpt>
+<wpt lat="50.833425048" lon="10.364770734">
+<time>2006-11-06T21:07:41Z</time>
+ <name>Qr,2</name>
+ <cmt>Qr,2</cmt>
+ <desc>notes-2</desc>
+ <sym>Big Fish</sym>
+</wpt>
+<wpt lat="50.184475274" lon="10.557828985">
+<time>2006-11-06T21:07:41Z</time>
+ <name>Qr3</name>
+ <cmt>Qr3</cmt>
+ <desc>notes-3</desc>
+ <sym>Anchor</sym>
+</wpt>
+<wpt lat="48.986577919" lon="12.047135492">
+<time>2006-11-06T21:07:41Z</time>
+ <name>Qr4-four</name>
+ <cmt>Qr4-four</cmt>
+ <desc>notes-4</desc>
+ <sym>Smiley</sym>
+</wpt>
+<wpt lat="48.623286047" lon="12.598730495">
+<time>2006-11-06T21:07:43Z</time>
+ <name>Qr5</name>
+ <cmt>Qr5</cmt>
+ <desc>notes-5</desc>
+ <sym>Sad</sym>
+</wpt>
+<rte>
+ <name>Qr</name>
+ <rtept lat="51.593568734" lon="9.895914981">
+<time>2006-11-06T21:07:41Z</time>
+ <name>Qr1-one</name>
+ <cmt>Qr1-one</cmt>
+ <desc>notes-1</desc>
+ <sym>Red Square</sym>
+ </rtept>
+ <rtept lat="50.833425048" lon="10.364770734">
+<time>2006-11-06T21:07:41Z</time>
+ <name>Qr,2</name>
+ <cmt>Qr,2</cmt>
+ <desc>notes-2</desc>
+ <sym>Big Fish</sym>
+ </rtept>
+ <rtept lat="50.184475274" lon="10.557828985">
+<time>2006-11-06T21:07:41Z</time>
+ <name>Qr3</name>
+ <cmt>Qr3</cmt>
+ <desc>notes-3</desc>
+ <sym>Anchor</sym>
+ </rtept>
+ <rtept lat="48.986577919" lon="12.047135492">
+<time>2006-11-06T21:07:41Z</time>
+ <name>Qr4-four</name>
+ <cmt>Qr4-four</cmt>
+ <desc>notes-4</desc>
+ <sym>Smiley</sym>
+ </rtept>
+ <rtept lat="48.623286047" lon="12.598730495">
+<time>2006-11-06T21:07:43Z</time>
+ <name>Qr5</name>
+ <cmt>Qr5</cmt>
+ <desc>notes-5</desc>
+ <sym>Sad</sym>
+ </rtept>
+</rte>
+</gpx>
--- /dev/null
+[Wp0]\r
+Loc=Qr\r
+Name=Qr1-one\r
+Lat=51.593568734471624\r
+Long=9.895914981396029\r
+Rng=0.000000000000000\r
+Bear=0.000000000000000\r
+Bmp=3\r
+Fixed=1\r
+Locked=0\r
+Notes=notes-1\r
+Rel=\r
+RelSet=1\r
+RcCount=1\r
+RcRadius=0.000000000000000\r
+Show=0\r
+RcShow=0\r
+SeaTemp=-32678.000000000000000\r
+Depth=65535.000000000000000\r
+Time=39027.880335648151000\r
+GUID=41847-17743-33206-33476\r
+[Wp1]\r
+Loc=Qr\r
+Name=Qr,2\r
+Lat=50.833425047658316\r
+Long=10.364770733812209\r
+Rng=0.000000000000000\r
+Bear=0.000000000000000\r
+Bmp=4\r
+Fixed=1\r
+Locked=0\r
+Notes=notes-2\r
+Rel=\r
+RelSet=1\r
+RcCount=1\r
+RcRadius=0.000000000000000\r
+Show=0\r
+RcShow=0\r
+SeaTemp=-32678.000000000000000\r
+Depth=65535.000000000000000\r
+Time=39027.880347222221000\r
+GUID=41847-17743-33462-33476\r
+[Wp2]\r
+Loc=Qr\r
+Name=Qr3\r
+Lat=50.184475273537196\r
+Long=10.557828984807108\r
+Rng=0.000000000000000\r
+Bear=0.000000000000000\r
+Bmp=5\r
+Fixed=1\r
+Locked=0\r
+Notes=notes-3\r
+Rel=\r
+RelSet=1\r
+RcCount=1\r
+RcRadius=0.000000000000000\r
+Show=0\r
+RcShow=0\r
+SeaTemp=-32678.000000000000000\r
+Depth=65535.000000000000000\r
+Time=39027.880347222221000\r
+GUID=41847-17743-33718-33476\r
+[Wp3]\r
+Loc=Qr\r
+Name=Qr4-four\r
+Lat=48.986577919201942\r
+Long=12.047135492482036\r
+Rng=0.000000000000000\r
+Bear=0.000000000000000\r
+Bmp=6\r
+Fixed=1\r
+Locked=0\r
+Notes=notes-4\r
+Rel=\r
+RelSet=1\r
+RcCount=1\r
+RcRadius=0.000000000000000\r
+Show=0\r
+RcShow=0\r
+SeaTemp=-32678.000000000000000\r
+Depth=65535.000000000000000\r
+Time=39027.880347222221000\r
+GUID=41847-17743-33974-33476\r
+[Wp4]\r
+Loc=Qr\r
+Name=Qr5\r
+Lat=48.623286046917791\r
+Long=12.598730495324602\r
+Rng=0.000000000000000\r
+Bear=0.000000000000000\r
+Bmp=7\r
+Fixed=1\r
+Locked=0\r
+Notes=notes-5\r
+Rel=\r
+RelSet=1\r
+RcCount=1\r
+RcRadius=0.000000000000000\r
+Show=0\r
+RcShow=0\r
+SeaTemp=-32678.000000000000000\r
+Depth=65535.000000000000000\r
+Time=39027.880358796298000\r
+GUID=41847-17743-34230-33476\r
+[Rt0]\r
+Name=Qr\r
+Visible=0\r
+Guid=41847-17743-32950-33476\r
+Mk0=Qr1-one\r
+Cog0=0.000000000000000\r
+Eta0=0.000000000000000\r
+Length0=0.000000000000000\r
+PredictedDrift0=0.000000000000000\r
+PredictedSet0=0.000000000000000\r
+PredictedSog0=0.000000000000000\r
+PredictedTime0=0.000000000000000\r
+PredictedTwa0=0.000000000000000\r
+PredictedTwd0=0.000000000000000\r
+PredictedTws0=0.000000000000000\r
+Mk1=Qr,2\r
+Cog1=0.000000000000000\r
+Eta1=0.000000000000000\r
+Length1=0.000000000000000\r
+PredictedDrift1=0.000000000000000\r
+PredictedSet1=0.000000000000000\r
+PredictedSog1=0.000000000000000\r
+PredictedTime1=0.000000000000000\r
+PredictedTwa1=0.000000000000000\r
+PredictedTwd1=0.000000000000000\r
+PredictedTws1=0.000000000000000\r
+Mk2=Qr3\r
+Cog2=0.000000000000000\r
+Eta2=0.000000000000000\r
+Length2=0.000000000000000\r
+PredictedDrift2=0.000000000000000\r
+PredictedSet2=0.000000000000000\r
+PredictedSog2=0.000000000000000\r
+PredictedTime2=0.000000000000000\r
+PredictedTwa2=0.000000000000000\r
+PredictedTwd2=0.000000000000000\r
+PredictedTws2=0.000000000000000\r
+Mk3=Qr4-four\r
+Cog3=0.000000000000000\r
+Eta3=0.000000000000000\r
+Length3=0.000000000000000\r
+PredictedDrift3=0.000000000000000\r
+PredictedSet3=0.000000000000000\r
+PredictedSog3=0.000000000000000\r
+PredictedTime3=0.000000000000000\r
+PredictedTwa3=0.000000000000000\r
+PredictedTwd3=0.000000000000000\r
+PredictedTws3=0.000000000000000\r
+Mk4=Qr5\r
+Cog4=0.000000000000000\r
+Eta4=0.000000000000000\r
+Length4=0.000000000000000\r
+PredictedDrift4=0.000000000000000\r
+PredictedSet4=0.000000000000000\r
+PredictedSog4=0.000000000000000\r
+PredictedTime4=0.000000000000000\r
+PredictedTwa4=0.000000000000000\r
+PredictedTwd4=0.000000000000000\r
+PredictedTws4=0.000000000000000\r
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="50.492706401" minlon ="12.105471361" maxlat="51.314684001" maxlon="12.492485421" />
+<bounds minlat="50.492706401" minlon="12.105471361" maxlat="51.314684001" maxlon="12.492485421"/>
<wpt lat="50.492706401" lon="12.105471361">
<name>STATION1</name>
<cmt>bei D 08527,Neundorf,,0,</cmt>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="45.754467000" minlon ="11.449617000" maxlat="45.789383000" maxlon="11.553583000" />
+<bounds minlat="45.754467000" minlon="11.449617000" maxlat="45.789383000" maxlon="11.553583000"/>
<rte>
<name>test</name>
<rtept lat="45.789383000" lon="11.553583000">
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="47.543230000" minlon ="2.664750000" maxlat="47.565520000" maxlon="2.722340000" />
+<bounds minlat="47.543230000" minlon="2.664750000" maxlat="47.565520000" maxlon="2.722340000"/>
<wpt lat="47.565210000" lon="2.713690000">
<ele>1272.900000</ele>
<time>2005-06-18T08:53:36Z</time>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="49.445861111" minlon ="11.044861111" maxlat="49.935944444" maxlon="11.481583333" />
+<bounds minlat="49.445861111" minlon="11.044861111" maxlat="49.935944444" maxlon="11.481583333"/>
<wpt lat="49.718250000" lon="11.066416667">
<name>Jägersburg in Forchheim geradeaus weiter auf Eisenbahnstrasse</name>
<cmt>Jägersburg in Forchheim geradeaus weiter auf Eisenbahnstrasse</cmt>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="50.497369766" minlon ="12.135772705" maxlat="50.628690720" maxlon="12.998456955" />
+<bounds minlat="50.497369766" minlon="12.135772705" maxlat="50.628690720" maxlon="12.998456955"/>
<rte>
<rtept lat="50.497369766" lon="12.135772705">
<name>Plauen</name>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="49.021900000" minlon ="11.587670000" maxlat="50.494250000" maxlon="12.675630000" />
+<bounds minlat="49.021900000" minlon="11.587670000" maxlat="50.494250000" maxlon="12.675630000"/>
<rte>
<rtept lat="50.494250000" lon="12.107270000">
<name>RPT001</name>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="50.492618900" minlon ="12.105448700" maxlat="51.314520700" maxlon="12.435919300" />
+<bounds minlat="50.492618900" minlon="12.105448700" maxlat="51.314520700" maxlon="12.435919300"/>
<wpt lat="50.492618900" lon="12.105448700">
<time>2005-09-03T00:00:00Z</time>
<name>NARVA</name>
Datum,WGS 84,WGS 84,0,0,0,0,0\r
-WP,D,NARVA,50.4926189,12.1054487,09/03/2005,00:00:00.90,\r
-WP,D,Liebknechtstras,50.4938369,12.106101,09/03/2005,00:00:00.90,\r
-WP,D,Jahnstrasse11,50.4936628,12.1071524,09/03/2005,00:00:00.90,\r
-WP,D,Elsterberg,50.6107952,12.1738022,09/03/2005,00:00:00.90,\r
-WP,D,Greiz,50.654763,12.2049567,09/03/2005,00:00:00.90,\r
-WP,D,Gosel,50.8441256,12.4087572,09/03/2005,00:00:00.90,\r
-WP,D,3,50.8773405,12.4338887,09/03/2005,00:00:00.90,\r
-WP,D,Altenburg-Umgehung,50.9649551,12.4359193,09/03/2005,00:00:00.90,\r
-WP,D,Völkerschlachtdenkmal,51.3145207,12.4091433,09/03/2005,00:00:00.90,\r
+WP,D,NARVA,50.4926189,12.1054487,09/03/2005,00:00:00.00,\r
+WP,D,Liebknechtstras,50.4938369,12.106101,09/03/2005,00:00:00.00,\r
+WP,D,Jahnstrasse11,50.4936628,12.1071524,09/03/2005,00:00:00.00,\r
+WP,D,Elsterberg,50.6107952,12.1738022,09/03/2005,00:00:00.00,\r
+WP,D,Greiz,50.654763,12.2049567,09/03/2005,00:00:00.00,\r
+WP,D,Gosel,50.8441256,12.4087572,09/03/2005,00:00:00.00,\r
+WP,D,3,50.8773405,12.4338887,09/03/2005,00:00:00.00,\r
+WP,D,Altenburg-Umgehung,50.9649551,12.4359193,09/03/2005,00:00:00.00,\r
+WP,D,Völkerschlachtdenkmal,51.3145207,12.4091433,09/03/2005,00:00:00.00,\r
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="50.268830000" minlon ="11.640990000" maxlat="50.756540000" maxlon="12.696920000" />
+<bounds minlat="50.268830000" minlon="11.640990000" maxlat="50.756540000" maxlon="12.696920000"/>
<wpt lat="50.362350000" lon="11.903730000">
<name>in Zedtwitz halb rechts halten auf B2 Hofer Strasse</name>
<cmt>B2 Hofer Strasse</cmt>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
-<bounds minlat="39.047567844" minlon ="-119.913288116" maxlat="39.068486691" maxlon="-119.875101328" />
+<bounds minlat="39.047567844" minlon="-119.913288116" maxlat="39.068486691" maxlon="-119.875101328"/>
<wpt lat="39.050695896" lon="-119.911156178">
<ele>2428.000000</ele>
<name>001</name>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="50.877340632" minlon ="12.433738670" maxlat="50.877348965" maxlon="12.433888670" />
+<bounds minlat="50.877340632" minlon="12.433738670" maxlat="50.877348965" maxlon="12.433888670"/>
<trk>
<trkseg>
<trkpt lat="50.877340632" lon="12.433888670">
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="51.312750000" minlon ="12.409350000" maxlat="51.314650000" maxlon="12.414983333" />
+<bounds minlat="51.312750000" minlon="12.409350000" maxlat="51.314650000" maxlon="12.414983333"/>
<trk>
<name>ACTIVE LOG 006</name>
<trkseg>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="30.045517000" minlon ="-91.610567000" maxlat="42.468655000" maxlon="-71.102973000" />
+<bounds minlat="30.045517000" minlon="-91.610567000" maxlat="42.468655000" maxlon="-71.102973000"/>
<wpt lat="42.438878000" lon="-71.119277000">
<ele>44.586548</ele>
<name>5066</name>
<desc>Crossing</desc>
</wpt>
<wpt lat="42.458516000" lon="-71.103646000">
+ <ele>0.000000</ele>
<name>DARKHOLLPO</name>
<cmt>Dark Hollow Pond</cmt>
<desc>Dark Hollow Pond</desc>
<ele>1.000000</ele>
</trkpt>
<trkpt lat="30.062783000" lon="-91.610567000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.062700000" lon="-91.608267000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.062333000" lon="-91.607383000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.061533000" lon="-91.605283000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.059783000" lon="-91.599400000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.057800000" lon="-91.596683000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.055383000" lon="-91.594900000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.053883000" lon="-91.592617000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.049733000" lon="-91.589750000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.049017000" lon="-91.589883000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.048800000" lon="-91.592933000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.046233000" lon="-91.596450000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.045517000" lon="-91.598717000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.047300000" lon="-91.600267000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.047000000" lon="-91.599633000">
<ele>2.000000</ele>
</trkpt>
<trkpt lat="30.046433000" lon="-91.599467000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.046200000" lon="-91.598950000">
<ele>1.000000</ele>
</trkpt>
<trkpt lat="30.046367000" lon="-91.597733000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.046350000" lon="-91.597167000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.046783000" lon="-91.596333000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.047450000" lon="-91.595200000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.047800000" lon="-91.594767000">
<ele>2.000000</ele>
<ele>1.000000</ele>
</trkpt>
<trkpt lat="30.049350000" lon="-91.593850000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.050317000" lon="-91.593983000">
<ele>2.000000</ele>
</trkpt>
<trkpt lat="30.050783000" lon="-91.594117000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.051233000" lon="-91.594367000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.051800000" lon="-91.594367000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.052217000" lon="-91.594667000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.053017000" lon="-91.594683000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.054867000" lon="-91.595200000">
<ele>6.000000</ele>
<ele>2.000000</ele>
</trkpt>
<trkpt lat="30.053183000" lon="-91.594783000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.052633000" lon="-91.594833000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.052450000" lon="-91.595433000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.052483000" lon="-91.595967000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.052650000" lon="-91.596783000">
<ele>1.000000</ele>
</trkpt>
<trkpt lat="30.053133000" lon="-91.597850000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.053617000" lon="-91.597967000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.053967000" lon="-91.597767000">
<ele>6.000000</ele>
</trkpt>
<trkpt lat="30.053617000" lon="-91.598083000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.053200000" lon="-91.597917000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.052817000" lon="-91.597517000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.052567000" lon="-91.596933000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.052333000" lon="-91.596433000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.052250000" lon="-91.595683000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.052217000" lon="-91.595017000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.051883000" lon="-91.594700000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.051050000" lon="-91.594400000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.050567000" lon="-91.594233000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.050183000" lon="-91.594100000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.049100000" lon="-91.593717000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.048450000" lon="-91.594250000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.048083000" lon="-91.594750000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.047500000" lon="-91.595450000">
<ele>7.000000</ele>
</trkpt>
<trkpt lat="30.047067000" lon="-91.596000000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.046633000" lon="-91.596600000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.046400000" lon="-91.597650000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.046233000" lon="-91.598467000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.046317000" lon="-91.598967000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.046783000" lon="-91.599283000">
+ <ele>0.000000</ele>
</trkpt>
<trkpt lat="30.047133000" lon="-91.599667000">
+ <ele>0.000000</ele>
</trkpt>
</trkseg>
</trk>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="45.660805000" minlon ="6.365717000" maxlat="45.667271000" maxlon="6.372394000" />
+<bounds minlat="45.660805000" minlon="6.365717000" maxlat="45.667271000" maxlon="6.372394000"/>
<trk>
<desc>20050719 Mar Tamié ind 2 VTT Sem Europ</desc>
<trkseg>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="36.000000000" minlon ="-115.000000000" maxlat="41.000000000" maxlon="-85.000000000" />
+<bounds minlat="36.000000000" minlon="-115.000000000" maxlat="41.000000000" maxlon="-85.000000000"/>
<trk>
<trkseg>
<trkpt lat="41.000000000" lon="-85.000000000">
--- /dev/null
+30.0621830,-91.6103500
+30.0627830,-91.6105670
+30.0627000,-91.6082670
+30.0623330,-91.6073830
+30.0615330,-91.6052830
+30.0597830,-91.5994000
+30.0578000,-91.5966830
+30.0553830,-91.5949000
+30.0538830,-91.5926170
+30.0497330,-91.5897500
+30.0490170,-91.5898830
+30.0488000,-91.5929330
+30.0462330,-91.5964500
+30.0455170,-91.5987170
+30.0473000,-91.6002670
+30.0470000,-91.5996330
+30.0464330,-91.5994670
+30.0462000,-91.5989500
+30.0463670,-91.5977330
+30.0463500,-91.5971670
+30.0467830,-91.5963330
+30.0474500,-91.5952000
+30.0478000,-91.5947670
+30.0482500,-91.5940830
+30.0486830,-91.5938000
+30.0493500,-91.5938500
+30.0503170,-91.5939830
+30.0507830,-91.5941170
+30.0512330,-91.5943670
+30.0518000,-91.5943670
+30.0522170,-91.5946670
+30.0530170,-91.5946830
+30.0548670,-91.5952000
+30.0537330,-91.5949330
+30.0531830,-91.5947830
+30.0526330,-91.5948330
+30.0524500,-91.5954330
+30.0524830,-91.5959670
+30.0526500,-91.5967830
+30.0531330,-91.5978500
+30.0536170,-91.5979670
+30.0539670,-91.5977670
+30.0536170,-91.5980830
+30.0532000,-91.5979170
+30.0528170,-91.5975170
+30.0525670,-91.5969330
+30.0523330,-91.5964330
+30.0522500,-91.5956830
+30.0522170,-91.5950170
+30.0518830,-91.5947000
+30.0510500,-91.5944000
+30.0505670,-91.5942330
+30.0501830,-91.5941000
+30.0491000,-91.5937170
+30.0484500,-91.5942500
+30.0480830,-91.5947500
+30.0475000,-91.5954500
+30.0470670,-91.5960000
+30.0466330,-91.5966000
+30.0464000,-91.5976500
+30.0462330,-91.5984670
+30.0463170,-91.5989670
+30.0467830,-91.5992830
+30.0471330,-91.5996670
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="42.530485000" minlon ="-88.121766667" maxlat="42.530528333" maxlon="-88.121706667" />
+<bounds minlat="42.530485000" minlon="-88.121766667" maxlat="42.530528333" maxlon="-88.121706667"/>
<trk>
<trkseg>
<trkpt lat="42.530485000" lon="-88.121721667">
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="50.319399833" minlon ="11.700503833" maxlat="50.496254000" maxlon="12.138562167" />
+<bounds minlat="50.319399833" minlon="11.700503833" maxlat="50.496254000" maxlon="12.138562167"/>
<trk>
<name>20050116_Fahrradtour Gerd</name>
<trkseg>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="45.177499900" minlon ="4.634587200" maxlat="45.187113000" maxlon="4.660729700" />
+<bounds minlat="45.177499900" minlon="4.634587200" maxlat="45.187113000" maxlon="4.660729700"/>
<trk>
<trkseg>
<trkpt lat="45.187113000" lon="4.660729700">
-<time>2005-08-23T15:25:12Z</time>
+<time>2005-08-23T15:25:12.812Z</time>
</trkpt>
<trkpt lat="45.186845500" lon="4.660163000">
-<time>2005-08-23T15:25:22Z</time>
+<time>2005-08-23T15:25:22.822Z</time>
</trkpt>
<trkpt lat="45.186395500" lon="4.659932400">
-<time>2005-08-23T15:25:39Z</time>
+<time>2005-08-23T15:25:39.839Z</time>
</trkpt>
<trkpt lat="45.185924600" lon="4.659882600">
-<time>2005-08-23T15:25:58Z</time>
+<time>2005-08-23T15:25:58.858Z</time>
</trkpt>
<trkpt lat="45.185478000" lon="4.659767600">
-<time>2005-08-23T15:26:16Z</time>
+<time>2005-08-23T15:26:16.816Z</time>
</trkpt>
<trkpt lat="45.185017800" lon="4.659738800">
-<time>2005-08-23T15:26:33Z</time>
+<time>2005-08-23T15:26:33.833Z</time>
</trkpt>
<trkpt lat="45.184579700" lon="4.659604400">
-<time>2005-08-23T15:26:53Z</time>
+<time>2005-08-23T15:26:53.853Z</time>
</trkpt>
<trkpt lat="45.184125400" lon="4.659626700">
-<time>2005-08-23T15:27:09Z</time>
+<time>2005-08-23T15:27:09.089Z</time>
</trkpt>
<trkpt lat="45.183667200" lon="4.659552100">
-<time>2005-08-23T15:27:28Z</time>
+<time>2005-08-23T15:27:28.828Z</time>
</trkpt>
<trkpt lat="45.183681400" lon="4.658898400">
-<time>2005-08-23T15:28:02Z</time>
+<time>2005-08-23T15:28:02.082Z</time>
</trkpt>
<trkpt lat="45.183994000" lon="4.658401600">
-<time>2005-08-23T15:28:15Z</time>
+<time>2005-08-23T15:28:15.815Z</time>
</trkpt>
<trkpt lat="45.184607600" lon="4.657295000">
-<time>2005-08-23T15:28:30Z</time>
+<time>2005-08-23T15:28:30.830Z</time>
</trkpt>
<trkpt lat="45.185006500" lon="4.655877600">
-<time>2005-08-23T15:28:44Z</time>
+<time>2005-08-23T15:28:44.844Z</time>
</trkpt>
<trkpt lat="45.184509400" lon="4.655268100">
-<time>2005-08-23T15:28:54Z</time>
+<time>2005-08-23T15:28:54.854Z</time>
</trkpt>
<trkpt lat="45.183927600" lon="4.654676700">
-<time>2005-08-23T15:29:04Z</time>
+<time>2005-08-23T15:29:04.084Z</time>
</trkpt>
<trkpt lat="45.183491900" lon="4.654383400">
-<time>2005-08-23T15:29:16Z</time>
+<time>2005-08-23T15:29:16.816Z</time>
</trkpt>
<trkpt lat="45.183500700" lon="4.653741400">
-<time>2005-08-23T15:29:26Z</time>
+<time>2005-08-23T15:29:26.826Z</time>
</trkpt>
<trkpt lat="45.183334800" lon="4.653151500">
-<time>2005-08-23T15:29:42Z</time>
+<time>2005-08-23T15:29:42.842Z</time>
</trkpt>
<trkpt lat="45.183066200" lon="4.652625200">
-<time>2005-08-23T15:29:59Z</time>
+<time>2005-08-23T15:29:59.859Z</time>
</trkpt>
<trkpt lat="45.183001700" lon="4.651983900">
-<time>2005-08-23T15:30:15Z</time>
+<time>2005-08-23T15:30:15.815Z</time>
</trkpt>
<trkpt lat="45.182989700" lon="4.651326900">
-<time>2005-08-23T15:30:32Z</time>
+<time>2005-08-23T15:30:32.832Z</time>
</trkpt>
<trkpt lat="45.182910100" lon="4.650682800">
-<time>2005-08-23T15:30:44Z</time>
+<time>2005-08-23T15:30:44.844Z</time>
</trkpt>
<trkpt lat="45.182539100" lon="4.650288200">
-<time>2005-08-23T15:30:56Z</time>
+<time>2005-08-23T15:30:56.856Z</time>
</trkpt>
<trkpt lat="45.182125900" lon="4.649993200">
-<time>2005-08-23T15:31:14Z</time>
+<time>2005-08-23T15:31:14.814Z</time>
</trkpt>
<trkpt lat="45.181794300" lon="4.649571300">
-<time>2005-08-23T15:31:31Z</time>
+<time>2005-08-23T15:31:31.831Z</time>
</trkpt>
<trkpt lat="45.181625100" lon="4.648974300">
-<time>2005-08-23T15:31:50Z</time>
+<time>2005-08-23T15:31:50.850Z</time>
</trkpt>
<trkpt lat="45.181511800" lon="4.648349300">
-<time>2005-08-23T15:32:13Z</time>
+<time>2005-08-23T15:32:13.813Z</time>
</trkpt>
<trkpt lat="45.181295700" lon="4.647775000">
-<time>2005-08-23T15:32:34Z</time>
+<time>2005-08-23T15:32:34.834Z</time>
</trkpt>
<trkpt lat="45.181057000" lon="4.647201200">
-<time>2005-08-23T15:32:56Z</time>
+<time>2005-08-23T15:32:56.856Z</time>
</trkpt>
<trkpt lat="45.180720100" lon="4.646757600">
-<time>2005-08-23T15:33:15Z</time>
+<time>2005-08-23T15:33:15.815Z</time>
</trkpt>
<trkpt lat="45.180433600" lon="4.646221300">
-<time>2005-08-23T15:33:32Z</time>
+<time>2005-08-23T15:33:32.832Z</time>
</trkpt>
<trkpt lat="45.180078000" lon="4.645822800">
-<time>2005-08-23T15:33:51Z</time>
+<time>2005-08-23T15:33:51.851Z</time>
</trkpt>
<trkpt lat="45.179698200" lon="4.645442700">
-<time>2005-08-23T15:34:09Z</time>
+<time>2005-08-23T15:34:09.089Z</time>
</trkpt>
<trkpt lat="45.179354500" lon="4.645033100">
-<time>2005-08-23T15:34:29Z</time>
+<time>2005-08-23T15:34:29.829Z</time>
</trkpt>
<trkpt lat="45.178831700" lon="4.644899000">
-<time>2005-08-23T15:34:50Z</time>
+<time>2005-08-23T15:34:50.850Z</time>
</trkpt>
<trkpt lat="45.178873700" lon="4.644249900">
-<time>2005-08-23T15:35:15Z</time>
+<time>2005-08-23T15:35:15.815Z</time>
</trkpt>
<trkpt lat="45.179131500" lon="4.643725300">
-<time>2005-08-23T15:35:33Z</time>
+<time>2005-08-23T15:35:33.833Z</time>
</trkpt>
<trkpt lat="45.179240000" lon="4.643110200">
-<time>2005-08-23T15:35:55Z</time>
+<time>2005-08-23T15:35:55.855Z</time>
</trkpt>
<trkpt lat="45.179606000" lon="4.642736400">
-<time>2005-08-23T15:36:16Z</time>
+<time>2005-08-23T15:36:16.816Z</time>
</trkpt>
<trkpt lat="45.179759300" lon="4.642141200">
-<time>2005-08-23T15:36:39Z</time>
+<time>2005-08-23T15:36:39.839Z</time>
</trkpt>
<trkpt lat="45.179895100" lon="4.641526300">
-<time>2005-08-23T15:37:03Z</time>
+<time>2005-08-23T15:37:03.083Z</time>
</trkpt>
<trkpt lat="45.179936600" lon="4.640884200">
-<time>2005-08-23T15:37:33Z</time>
+<time>2005-08-23T15:37:33.833Z</time>
</trkpt>
<trkpt lat="45.179692900" lon="4.640355500">
-<time>2005-08-23T15:38:06Z</time>
+<time>2005-08-23T15:38:06.086Z</time>
</trkpt>
<trkpt lat="45.179717200" lon="4.639714300">
-<time>2005-08-23T15:38:36Z</time>
+<time>2005-08-23T15:38:36.836Z</time>
</trkpt>
<trkpt lat="45.179532100" lon="4.639125700">
-<time>2005-08-23T15:39:06Z</time>
+<time>2005-08-23T15:39:06.086Z</time>
</trkpt>
<trkpt lat="45.179173000" lon="4.638733200">
-<time>2005-08-23T15:39:29Z</time>
+<time>2005-08-23T15:39:29.829Z</time>
</trkpt>
<trkpt lat="45.179017500" lon="4.638135800">
-<time>2005-08-23T15:39:51Z</time>
+<time>2005-08-23T15:39:51.851Z</time>
</trkpt>
<trkpt lat="45.178894700" lon="4.637525200">
-<time>2005-08-23T15:40:14Z</time>
+<time>2005-08-23T15:40:14.814Z</time>
</trkpt>
<trkpt lat="45.178674600" lon="4.636948900">
-<time>2005-08-23T15:40:34Z</time>
+<time>2005-08-23T15:40:34.834Z</time>
</trkpt>
<trkpt lat="45.178391800" lon="4.636434900">
-<time>2005-08-23T15:40:47Z</time>
+<time>2005-08-23T15:40:47.847Z</time>
</trkpt>
<trkpt lat="45.178171700" lon="4.635866200">
-<time>2005-08-23T15:40:59Z</time>
+<time>2005-08-23T15:40:59.859Z</time>
</trkpt>
<trkpt lat="45.177866400" lon="4.635158500">
-<time>2005-08-23T15:41:09Z</time>
+<time>2005-08-23T15:41:09.089Z</time>
</trkpt>
<trkpt lat="45.177499900" lon="4.634587200">
-<time>2005-08-23T15:41:19Z</time>
+<time>2005-08-23T15:41:19.819Z</time>
</trkpt>
</trkseg>
</trk>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="36.000000000" minlon ="-115.000000000" maxlat="41.000000000" maxlon="-85.000000000" />
+<bounds minlat="36.000000000" minlon="-115.000000000" maxlat="41.000000000" maxlon="-85.000000000"/>
<trk>
<trkseg>
<trkpt lat="41.000000000" lon="-85.000000000">
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="33.753026015" minlon ="-122.443458941" maxlat="41.447125389" maxlon="-116.669656846" />
+<bounds minlat="33.753026015" minlon="-122.443458941" maxlat="41.447125389" maxlon="-116.669656846"/>
<trk>
<name>Track 1</name>
<trkseg>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="30.045517000" minlon ="-91.610567000" maxlat="30.062783000" maxlon="-91.589750000" />
+<bounds minlat="30.045517000" minlon="-91.610567000" maxlat="30.062783000" maxlon="-91.589750000"/>
<trk>
<name>LOG-20020525-20020525</name>
<trkseg>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="30.045517000" minlon ="-91.610567000" maxlat="30.062783000" maxlon="-91.589750000" />
+<bounds minlat="30.045517000" minlon="-91.610567000" maxlat="30.062783000" maxlon="-91.589750000"/>
<trk>
<name>20020525</name>
<trkseg>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="30.045517000" minlon ="-91.610567000" maxlat="30.062783000" maxlon="-91.589750000" />
+<bounds minlat="30.045517000" minlon="-91.610567000" maxlat="30.062783000" maxlon="-91.589750000"/>
<trk>
<name>LOG-20020525</name>
<trkseg>
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
<gpx
version="1.0"
-creator="GPSBabel - http://gpsbabel.sourceforge.net"
+creator="GPSBabel - http://www.gpsbabel.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
-<time>2004-01-08T20:11:32Z</time>
+<time>2007-02-14T15:24:42Z</time>
+<bounds minlat="30.045516667" minlon="-91.610566667" maxlat="30.062783333" maxlon="-91.589750000"/>
<trk>
-<name>meridian</name>
+ <name>meridian</name>
<trkseg>
<trkpt lat="30.062183333" lon="-91.610350000">
-<ele>1.000000</ele>
-<time>2002-05-25T17:06:21Z</time>
+ <ele>1.000000</ele>
+<time>2002-05-25T17:06:21.250Z</time>
</trkpt>
<trkpt lat="30.062783333" lon="-91.610566667">
-<ele>0.000000</ele>
-<time>2002-05-25T17:09:55Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:09:55.190Z</time>
</trkpt>
<trkpt lat="30.062700000" lon="-91.608266667">
-<ele>0.000000</ele>
-<time>2002-05-25T17:12:00Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:12:00.200Z</time>
</trkpt>
<trkpt lat="30.062333333" lon="-91.607383333">
-<ele>0.000000</ele>
-<time>2002-05-25T17:12:48Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:12:48.750Z</time>
</trkpt>
<trkpt lat="30.061533333" lon="-91.605283333">
-<ele>0.000000</ele>
-<time>2002-05-25T17:14:41Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:14:41.200Z</time>
</trkpt>
<trkpt lat="30.059783333" lon="-91.599400000">
-<ele>0.000000</ele>
-<time>2002-05-25T17:17:16Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:17:16.200Z</time>
</trkpt>
<trkpt lat="30.057800000" lon="-91.596683333">
-<ele>0.000000</ele>
-<time>2002-05-25T17:17:46Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:17:46.200Z</time>
</trkpt>
<trkpt lat="30.055383333" lon="-91.594900000">
-<ele>0.000000</ele>
-<time>2002-05-25T17:18:20Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:18:20.810Z</time>
</trkpt>
<trkpt lat="30.053883333" lon="-91.592616667">
-<ele>0.000000</ele>
-<time>2002-05-25T17:19:01Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:19:01.200Z</time>
</trkpt>
<trkpt lat="30.049733333" lon="-91.589750000">
-<ele>0.000000</ele>
-<time>2002-05-25T17:20:46Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:20:46.250Z</time>
</trkpt>
<trkpt lat="30.049016667" lon="-91.589883333">
-<ele>0.000000</ele>
-<time>2002-05-25T17:21:10Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:21:10.250Z</time>
</trkpt>
<trkpt lat="30.048800000" lon="-91.592933333">
-<ele>0.000000</ele>
-<time>2002-05-25T17:21:51Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:21:51.370Z</time>
</trkpt>
<trkpt lat="30.046233333" lon="-91.596450000">
-<ele>0.000000</ele>
-<time>2002-05-25T17:22:35Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:22:35.200Z</time>
</trkpt>
<trkpt lat="30.045516667" lon="-91.598716667">
-<ele>0.000000</ele>
-<time>2002-05-25T17:23:08Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T17:23:08.560Z</time>
</trkpt>
<trkpt lat="30.047300000" lon="-91.600266667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:04:23Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:04:23.930Z</time>
</trkpt>
<trkpt lat="30.047000000" lon="-91.599633333">
-<ele>2.000000</ele>
-<time>2002-05-25T18:06:04Z</time>
+ <ele>2.000000</ele>
+<time>2002-05-25T18:06:04.920Z</time>
</trkpt>
<trkpt lat="30.046433333" lon="-91.599466667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:07:06Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:07:06.920Z</time>
</trkpt>
<trkpt lat="30.046200000" lon="-91.598950000">
-<ele>1.000000</ele>
-<time>2002-05-25T18:08:18Z</time>
+ <ele>1.000000</ele>
+<time>2002-05-25T18:08:18.920Z</time>
</trkpt>
<trkpt lat="30.046366667" lon="-91.597733333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:10:20Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:10:20.920Z</time>
</trkpt>
<trkpt lat="30.046350000" lon="-91.597166667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:11:09Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:11:09.930Z</time>
</trkpt>
<trkpt lat="30.046783333" lon="-91.596333333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:12:18Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:12:18.920Z</time>
</trkpt>
<trkpt lat="30.047450000" lon="-91.595200000">
-<ele>0.000000</ele>
-<time>2002-05-25T18:14:22Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:14:22.930Z</time>
</trkpt>
<trkpt lat="30.047800000" lon="-91.594766667">
-<ele>2.000000</ele>
-<time>2002-05-25T18:15:04Z</time>
+ <ele>2.000000</ele>
+<time>2002-05-25T18:15:04.930Z</time>
</trkpt>
<trkpt lat="30.048250000" lon="-91.594083333">
-<ele>1.000000</ele>
-<time>2002-05-25T18:16:14Z</time>
+ <ele>1.000000</ele>
+<time>2002-05-25T18:16:14.930Z</time>
</trkpt>
<trkpt lat="30.048683333" lon="-91.593800000">
-<ele>1.000000</ele>
-<time>2002-05-25T18:17:01Z</time>
+ <ele>1.000000</ele>
+<time>2002-05-25T18:17:01.930Z</time>
</trkpt>
<trkpt lat="30.049350000" lon="-91.593850000">
-<ele>0.000000</ele>
-<time>2002-05-25T18:18:07Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:18:07.940Z</time>
</trkpt>
<trkpt lat="30.050316667" lon="-91.593983333">
-<ele>2.000000</ele>
-<time>2002-05-25T18:19:51Z</time>
+ <ele>2.000000</ele>
+<time>2002-05-25T18:19:51.940Z</time>
</trkpt>
<trkpt lat="30.050783333" lon="-91.594116667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:20:39Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:20:39.940Z</time>
</trkpt>
<trkpt lat="30.051233333" lon="-91.594366667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:21:24Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:21:24.930Z</time>
</trkpt>
<trkpt lat="30.051800000" lon="-91.594366667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:22:17Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:22:17.940Z</time>
</trkpt>
<trkpt lat="30.052216667" lon="-91.594666667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:23:18Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:23:18.930Z</time>
</trkpt>
<trkpt lat="30.053016667" lon="-91.594683333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:24:37Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:24:37.940Z</time>
</trkpt>
<trkpt lat="30.054866667" lon="-91.595200000">
-<ele>6.000000</ele>
-<time>2002-05-25T18:28:13Z</time>
+ <ele>6.000000</ele>
+<time>2002-05-25T18:28:13.950Z</time>
</trkpt>
<trkpt lat="30.053733333" lon="-91.594933333">
-<ele>2.000000</ele>
-<time>2002-05-25T18:31:36Z</time>
+ <ele>2.000000</ele>
+<time>2002-05-25T18:31:36.940Z</time>
</trkpt>
<trkpt lat="30.053183333" lon="-91.594783333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:32:56Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:32:56.950Z</time>
</trkpt>
<trkpt lat="30.052633333" lon="-91.594833333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:34:02Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:34:02.950Z</time>
</trkpt>
<trkpt lat="30.052450000" lon="-91.595433333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:36:03Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:36:03.950Z</time>
</trkpt>
<trkpt lat="30.052483333" lon="-91.595966667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:36:48Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:36:48.960Z</time>
</trkpt>
<trkpt lat="30.052650000" lon="-91.596783333">
-<ele>1.000000</ele>
-<time>2002-05-25T18:37:52Z</time>
+ <ele>1.000000</ele>
+<time>2002-05-25T18:37:52.960Z</time>
</trkpt>
<trkpt lat="30.053133333" lon="-91.597850000">
-<ele>0.000000</ele>
-<time>2002-05-25T18:39:18Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:39:18.950Z</time>
</trkpt>
<trkpt lat="30.053616667" lon="-91.597966667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:40:15Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:40:15.960Z</time>
</trkpt>
<trkpt lat="30.053966667" lon="-91.597766667">
-<ele>6.000000</ele>
-<time>2002-05-25T18:41:25Z</time>
+ <ele>6.000000</ele>
+<time>2002-05-25T18:41:25.960Z</time>
</trkpt>
<trkpt lat="30.053616667" lon="-91.598083333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:42:37Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:42:37.960Z</time>
</trkpt>
<trkpt lat="30.053200000" lon="-91.597916667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:44:01Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:44:01.960Z</time>
</trkpt>
<trkpt lat="30.052816667" lon="-91.597516667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:45:53Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:45:53.960Z</time>
</trkpt>
<trkpt lat="30.052566667" lon="-91.596933333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:46:54Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:46:54.960Z</time>
</trkpt>
<trkpt lat="30.052333333" lon="-91.596433333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:47:42Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:47:42.970Z</time>
</trkpt>
<trkpt lat="30.052250000" lon="-91.595683333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:48:41Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:48:41.960Z</time>
</trkpt>
<trkpt lat="30.052216667" lon="-91.595016667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:49:52Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:49:52.970Z</time>
</trkpt>
<trkpt lat="30.051883333" lon="-91.594700000">
-<ele>0.000000</ele>
-<time>2002-05-25T18:50:49Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:50:49.970Z</time>
</trkpt>
<trkpt lat="30.051050000" lon="-91.594400000">
-<ele>0.000000</ele>
-<time>2002-05-25T18:52:14Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:52:14.970Z</time>
</trkpt>
<trkpt lat="30.050566667" lon="-91.594233333">
-<ele>0.000000</ele>
-<time>2002-05-25T18:52:56Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:52:56.980Z</time>
</trkpt>
<trkpt lat="30.050183333" lon="-91.594100000">
-<ele>0.000000</ele>
-<time>2002-05-25T18:53:38Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:53:38.980Z</time>
</trkpt>
<trkpt lat="30.049100000" lon="-91.593716667">
-<ele>0.000000</ele>
-<time>2002-05-25T18:55:11Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:55:11.970Z</time>
</trkpt>
<trkpt lat="30.048450000" lon="-91.594250000">
-<ele>0.000000</ele>
-<time>2002-05-25T18:56:32Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:56:32.980Z</time>
</trkpt>
<trkpt lat="30.048083333" lon="-91.594750000">
-<ele>0.000000</ele>
-<time>2002-05-25T18:57:24Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:57:24.970Z</time>
</trkpt>
<trkpt lat="30.047500000" lon="-91.595450000">
-<ele>7.000000</ele>
-<time>2002-05-25T18:58:40Z</time>
+ <ele>7.000000</ele>
+<time>2002-05-25T18:58:40.980Z</time>
</trkpt>
<trkpt lat="30.047066667" lon="-91.596000000">
-<ele>0.000000</ele>
-<time>2002-05-25T18:59:28Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T18:59:28.980Z</time>
</trkpt>
<trkpt lat="30.046633333" lon="-91.596600000">
-<ele>0.000000</ele>
-<time>2002-05-25T19:00:22Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T19:00:22.980Z</time>
</trkpt>
<trkpt lat="30.046400000" lon="-91.597650000">
-<ele>0.000000</ele>
-<time>2002-05-25T19:01:41Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T19:01:41.980Z</time>
</trkpt>
<trkpt lat="30.046233333" lon="-91.598466667">
-<ele>0.000000</ele>
-<time>2002-05-25T19:02:48Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T19:02:48.990Z</time>
</trkpt>
<trkpt lat="30.046316667" lon="-91.598966667">
-<ele>0.000000</ele>
-<time>2002-05-25T19:03:43Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T19:03:43.980Z</time>
</trkpt>
<trkpt lat="30.046783333" lon="-91.599283333">
-<ele>0.000000</ele>
-<time>2002-05-25T19:04:49Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T19:04:49.990Z</time>
</trkpt>
<trkpt lat="30.047133333" lon="-91.599666667">
-<ele>0.000000</ele>
-<time>2002-05-25T19:05:57Z</time>
+ <ele>0.000000</ele>
+<time>2002-05-25T19:05:57.980Z</time>
</trkpt>
</trkseg>
</trk>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="45.458204984" minlon ="-75.770526640" maxlat="45.497519984" maxlon="-75.684934974" />
+<bounds minlat="45.458204984" minlon="-75.770526640" maxlat="45.497519984" maxlon="-75.684934974"/>
<trk>
<trkseg>
<trkpt lat="45.460366651" lon="-75.767939974">
<ele>33.700000</ele>
-<time>2005-05-09T19:02:01Z</time>
+<time>2005-05-09T19:02:01.517Z</time>
<course>0.000000</course>
<speed>0.000000</speed>
<name>WP0001</name>
</trkpt>
<trkpt lat="45.460339984" lon="-75.767591640">
<ele>33.700000</ele>
-<time>2005-05-09T19:02:03Z</time>
+<time>2005-05-09T19:02:03.517Z</time>
<course>0.000000</course>
<speed>0.000000</speed>
<name>WP0002</name>
</trkpt>
<trkpt lat="45.458376651" lon="-75.768483307">
<ele>105.400000</ele>
-<time>2005-05-09T20:09:13Z</time>
+<time>2005-05-09T20:09:13.594Z</time>
<course>251.259995</course>
<speed>1.419867</speed>
<name>WP0003</name>
</trkpt>
<trkpt lat="45.458293318" lon="-75.768566640">
<ele>104.600000</ele>
-<time>2005-05-09T20:09:23Z</time>
+<time>2005-05-09T20:09:23.593Z</time>
<course>260.420013</course>
<speed>1.450733</speed>
<name>WP0004</name>
</trkpt>
<trkpt lat="45.458298318" lon="-75.768701640">
<ele>102.500000</ele>
-<time>2005-05-09T20:09:44Z</time>
+<time>2005-05-09T20:09:44.592Z</time>
<course>232.600006</course>
<speed>0.334389</speed>
<name>WP0005</name>
</trkpt>
<trkpt lat="45.458266651" lon="-75.769021640">
<ele>108.900000</ele>
-<time>2005-05-09T20:10:04Z</time>
+<time>2005-05-09T20:10:04.590Z</time>
<course>297.440002</course>
<speed>1.106055</speed>
<name>WP0006</name>
</trkpt>
<trkpt lat="45.458204984" lon="-75.770038307">
<ele>108.400000</ele>
-<time>2005-05-09T20:11:22Z</time>
+<time>2005-05-09T20:11:22.585Z</time>
<course>290.190002</course>
<speed>1.162644</speed>
<name>WP0007</name>
</trkpt>
<trkpt lat="45.458274984" lon="-75.770526640">
<ele>110.600000</ele>
-<time>2005-05-09T20:11:50Z</time>
+<time>2005-05-09T20:11:50.583Z</time>
<course>30.709999</course>
<speed>1.111200</speed>
<name>WP0008</name>
</trkpt>
<trkpt lat="45.458353318" lon="-75.770481640">
<ele>106.200000</ele>
-<time>2005-05-09T20:14:00Z</time>
+<time>2005-05-09T20:14:00.575Z</time>
<course>32.630001</course>
<speed>0.185200</speed>
<name>WP0009</name>
</trkpt>
<trkpt lat="45.492471651" lon="-75.717699974">
<ele>34.100000</ele>
-<time>2005-05-09T21:36:00Z</time>
+<time>2005-05-09T21:36:00.758Z</time>
<course>0.000000</course>
<speed>0.000000</speed>
<name>WP0010</name>
</trkpt>
<trkpt lat="45.492506651" lon="-75.717636640">
<ele>-22.300000</ele>
-<time>2005-06-03T21:36:06Z</time>
+<time>2005-06-03T21:36:06.757Z</time>
<course>150.550003</course>
<speed>1.476456</speed>
<name>WP0011</name>
</trkpt>
<trkpt lat="45.492283318" lon="-75.717694974">
<ele>-34.800000</ele>
-<time>2005-06-03T21:36:08Z</time>
+<time>2005-06-03T21:36:08.757Z</time>
<course>140.809998</course>
<speed>1.533044</speed>
<name>WP0012</name>
</trkpt>
<trkpt lat="45.492396651" lon="-75.717684974">
<ele>-28.700000</ele>
-<time>2005-06-03T21:36:09Z</time>
+<time>2005-06-03T21:36:09.757Z</time>
<course>165.830002</course>
<speed>1.342700</speed>
<name>WP0013</name>
</trkpt>
<trkpt lat="45.492381651" lon="-75.717586640">
<ele>-21.000000</ele>
-<time>2005-06-03T21:36:17Z</time>
+<time>2005-06-03T21:36:17.757Z</time>
<course>166.179993</course>
<speed>0.735656</speed>
<name>WP0014</name>
</trkpt>
<trkpt lat="45.492294984" lon="-75.717593307">
<ele>-25.300000</ele>
-<time>2005-06-03T21:36:31Z</time>
+<time>2005-06-03T21:36:31.756Z</time>
<course>114.070000</course>
<speed>1.507322</speed>
<name>WP0015</name>
</trkpt>
<trkpt lat="45.491944984" lon="-75.717474974">
<ele>43.400000</ele>
-<time>2005-06-03T21:36:45Z</time>
+<time>2005-06-03T21:36:45.755Z</time>
<course>79.120003</course>
<speed>1.517611</speed>
<name>WP0016</name>
</trkpt>
<trkpt lat="45.491938318" lon="-75.717353307">
<ele>39.300000</ele>
-<time>2005-06-03T21:36:51Z</time>
+<time>2005-06-03T21:36:51.754Z</time>
<course>65.169998</course>
<speed>1.378711</speed>
<name>WP0017</name>
</trkpt>
<trkpt lat="45.491969984" lon="-75.717238307">
<ele>48.300000</ele>
-<time>2005-06-03T21:36:58Z</time>
+<time>2005-06-03T21:36:58.754Z</time>
<course>87.449997</course>
<speed>1.260389</speed>
<name>WP0018</name>
</trkpt>
<trkpt lat="45.491994984" lon="-75.717094974">
<ele>44.500000</ele>
-<time>2005-06-03T21:37:07Z</time>
+<time>2005-06-03T21:37:07.753Z</time>
<course>88.230003</course>
<speed>1.476456</speed>
<name>WP0019</name>
</trkpt>
<trkpt lat="45.491996651" lon="-75.716914974">
<ele>39.900000</ele>
-<time>2005-06-03T21:37:18Z</time>
+<time>2005-06-03T21:37:18.753Z</time>
<course>68.449997</course>
<speed>1.558767</speed>
<name>WP0020</name>
</trkpt>
<trkpt lat="45.492019984" lon="-75.716781640">
<ele>23.600000</ele>
-<time>2005-06-03T21:37:26Z</time>
+<time>2005-06-03T21:37:26.752Z</time>
<course>140.080002</course>
<speed>0.138900</speed>
<name>WP0021</name>
</trkpt>
<trkpt lat="45.492071651" lon="-75.716738307">
<ele>46.700000</ele>
-<time>2005-06-03T21:37:46Z</time>
+<time>2005-06-03T21:37:46.751Z</time>
<course>114.720001</course>
<speed>0.195489</speed>
<name>WP0022</name>
</trkpt>
<trkpt lat="45.492071651" lon="-75.716736640">
<ele>61.300000</ele>
-<time>2005-06-03T21:37:52Z</time>
+<time>2005-06-03T21:37:52.750Z</time>
<course>128.500000</course>
<speed>0.169767</speed>
<name>WP0023</name>
</trkpt>
<trkpt lat="45.492096651" lon="-75.716736640">
<ele>74.600000</ele>
-<time>2005-06-03T21:38:16Z</time>
+<time>2005-06-03T21:38:16.749Z</time>
<course>0.890000</course>
<speed>0.262367</speed>
<name>WP0024</name>
</trkpt>
<trkpt lat="45.492099984" lon="-75.716729974">
<ele>63.600000</ele>
-<time>2005-06-03T21:38:50Z</time>
+<time>2005-06-03T21:38:50.747Z</time>
<course>214.169998</course>
<speed>0.144044</speed>
<name>WP0025</name>
</trkpt>
<trkpt lat="45.492721651" lon="-75.718441640">
<ele>83.600000</ele>
-<time>2005-06-03T21:55:06Z</time>
+<time>2005-06-03T21:55:06.472Z</time>
<course>156.059998</course>
<speed>0.205778</speed>
<name>WP0026</name>
</trkpt>
<trkpt lat="45.492656651" lon="-75.718409974">
<ele>76.200000</ele>
-<time>2005-06-03T21:55:14Z</time>
+<time>2005-06-03T21:55:14.472Z</time>
<course>136.899994</course>
<speed>0.082311</speed>
<name>WP0027</name>
</trkpt>
<trkpt lat="45.492591651" lon="-75.718313307">
<ele>76.300000</ele>
-<time>2005-06-03T21:57:31Z</time>
+<time>2005-06-03T21:57:31.463Z</time>
<course>151.399994</course>
<speed>0.108033</speed>
<name>WP0028</name>
</trkpt>
<trkpt lat="45.492568318" lon="-75.718309974">
<ele>59.800000</ele>
-<time>2005-06-03T21:57:54Z</time>
+<time>2005-06-03T21:57:54.461Z</time>
<course>0.000000</course>
<speed>0.000000</speed>
<name>WP0029</name>
</trkpt>
<trkpt lat="45.492314984" lon="-75.718339974">
<ele>34.300000</ele>
-<time>2005-06-04T23:06:26Z</time>
+<time>2005-06-04T23:06:26.359Z</time>
<course>0.000000</course>
<speed>0.000000</speed>
<name>WP0030</name>
</trkpt>
<trkpt lat="45.491909984" lon="-75.718324974">
<ele>34.300000</ele>
-<time>2005-06-04T23:14:32Z</time>
+<time>2005-06-04T23:14:32.327Z</time>
<course>0.000000</course>
<speed>0.000000</speed>
<name>WP0031</name>
</trkpt>
<trkpt lat="45.492206651" lon="-75.718414974">
<ele>34.300000</ele>
-<time>2005-06-04T23:14:43Z</time>
+<time>2005-06-04T23:14:43.327Z</time>
<course>157.210007</course>
<speed>0.036011</speed>
<name>WP0032</name>
</trkpt>
<trkpt lat="45.492689984" lon="-75.718359974">
<ele>70.800000</ele>
-<time>2005-06-04T23:15:39Z</time>
+<time>2005-06-04T23:15:39.323Z</time>
<course>31.549999</course>
<speed>0.118322</speed>
<name>WP0033</name>
</trkpt>
<trkpt lat="45.492691651" lon="-75.718408307">
<ele>61.200000</ele>
-<time>2005-06-04T23:16:38Z</time>
+<time>2005-06-04T23:16:38.319Z</time>
<course>160.520004</course>
<speed>1.044322</speed>
<name>WP0034</name>
</trkpt>
<trkpt lat="45.492601651" lon="-75.718438307">
<ele>62.400000</ele>
-<time>2005-06-04T23:17:21Z</time>
+<time>2005-06-04T23:17:21.316Z</time>
<course>162.570007</course>
<speed>0.102889</speed>
<name>WP0035</name>
</trkpt>
<trkpt lat="45.492479984" lon="-75.718403307">
<ele>54.200000</ele>
-<time>2005-06-04T23:22:58Z</time>
+<time>2005-06-04T23:22:58.294Z</time>
<course>66.839996</course>
<speed>0.411556</speed>
<name>WP0036</name>
</trkpt>
<trkpt lat="45.492566651" lon="-75.718339974">
<ele>57.000000</ele>
-<time>2005-06-04T23:25:52Z</time>
+<time>2005-06-04T23:25:52.283Z</time>
<course>0.000000</course>
<speed>0.000000</speed>
<name>WP0037</name>
</trkpt>
<trkpt lat="45.492343318" lon="-75.722331640">
<ele>0.000000</ele>
-<time>2005-06-04T23:39:14Z</time>
+<time>2005-06-04T23:39:14.663Z</time>
<course>0.000000</course>
<speed>0.000000</speed>
<name>WP0038</name>
</trkpt>
<trkpt lat="45.492314984" lon="-75.722923307">
<ele>57.600000</ele>
-<time>2005-06-04T23:39:18Z</time>
+<time>2005-06-04T23:39:18.662Z</time>
<course>0.000000</course>
<speed>0.000000</speed>
<name>WP0039</name>
</trkpt>
<trkpt lat="45.492369984" lon="-75.722586640">
<ele>74.800000</ele>
-<time>2005-06-04T23:39:19Z</time>
+<time>2005-06-04T23:39:19.662Z</time>
<course>51.320000</course>
<speed>0.087456</speed>
<name>WP0040</name>
</trkpt>
<trkpt lat="45.493596651" lon="-75.728018307">
<ele>95.100000</ele>
-<time>2005-06-04T23:44:29Z</time>
+<time>2005-06-04T23:44:29.868Z</time>
<course>22.510000</course>
<speed>0.092600</speed>
<name>WP0041</name>
</trkpt>
<trkpt lat="45.492388318" lon="-75.731491640">
<ele>69.100000</ele>
-<time>2005-06-04T23:50:38Z</time>
+<time>2005-06-04T23:50:38.425Z</time>
<course>272.899994</course>
<speed>1.208944</speed>
<name>WP0042</name>
</trkpt>
<trkpt lat="45.492379984" lon="-75.731639974">
<ele>71.300000</ele>
-<time>2005-06-04T23:52:35Z</time>
+<time>2005-06-04T23:52:35.417Z</time>
<course>304.450012</course>
<speed>1.188367</speed>
<name>WP0043</name>
</trkpt>
<trkpt lat="45.492419984" lon="-75.731754974">
<ele>71.300000</ele>
-<time>2005-06-04T23:52:43Z</time>
+<time>2005-06-04T23:52:43.417Z</time>
<course>321.899994</course>
<speed>1.332411</speed>
<name>WP0044</name>
</trkpt>
<trkpt lat="45.492678318" lon="-75.732136640">
<ele>71.300000</ele>
-<time>2005-06-04T23:53:15Z</time>
+<time>2005-06-04T23:53:15.415Z</time>
<course>346.209991</course>
<speed>0.853978</speed>
<name>WP0045</name>
</trkpt>
<trkpt lat="45.492764984" lon="-75.732181640">
<ele>70.700000</ele>
-<time>2005-06-04T23:53:25Z</time>
+<time>2005-06-04T23:53:25.414Z</time>
<course>31.530001</course>
<speed>0.041156</speed>
<name>WP0046</name>
</trkpt>
<trkpt lat="45.493056651" lon="-75.734448307">
<ele>68.400000</ele>
-<time>2005-06-04T23:56:24Z</time>
+<time>2005-06-04T23:56:24.496Z</time>
<course>124.980003</course>
<speed>0.807678</speed>
<name>WP0047</name>
</trkpt>
<trkpt lat="45.492984984" lon="-75.734376640">
<ele>72.900000</ele>
-<time>2005-06-04T23:56:54Z</time>
+<time>2005-06-04T23:56:54.494Z</time>
<course>301.549988</course>
<speed>1.301544</speed>
<name>WP0048</name>
</trkpt>
<trkpt lat="45.493048318" lon="-75.734484974">
<ele>71.400000</ele>
-<time>2005-06-04T23:57:12Z</time>
+<time>2005-06-04T23:57:12.493Z</time>
<course>312.899994</course>
<speed>0.488722</speed>
<name>WP0049</name>
</trkpt>
<trkpt lat="45.493248318" lon="-75.734873307">
<ele>71.200000</ele>
-<time>2005-06-04T23:57:43Z</time>
+<time>2005-06-04T23:57:43.491Z</time>
<course>54.860001</course>
<speed>0.077167</speed>
<name>WP0050</name>
</trkpt>
<trkpt lat="45.493511651" lon="-75.735343307">
<ele>71.600000</ele>
-<time>2005-06-04T23:58:26Z</time>
+<time>2005-06-04T23:58:26.488Z</time>
<course>338.209991</course>
<speed>1.821133</speed>
<name>WP0051</name>
</trkpt>
<trkpt lat="45.494089984" lon="-75.736121640">
<ele>71.000000</ele>
-<time>2005-06-04T00:00:00Z</time>
+<time>2005-06-04T00:00:00.482Z</time>
<course>300.459991</course>
<speed>0.632767</speed>
<name>WP0052</name>
</trkpt>
<trkpt lat="45.494091651" lon="-75.736254974">
<ele>72.100000</ele>
-<time>2005-06-05T00:00:11Z</time>
+<time>2005-06-05T00:00:11.482Z</time>
<course>306.429993</course>
<speed>1.059756</speed>
<name>WP0053</name>
</trkpt>
<trkpt lat="45.494156651" lon="-75.736351640">
<ele>72.700000</ele>
-<time>2005-06-05T00:00:20Z</time>
+<time>2005-06-05T00:00:20.481Z</time>
<course>284.540009</course>
<speed>0.967156</speed>
<name>WP0054</name>
</trkpt>
<trkpt lat="45.494316651" lon="-75.736706640">
<ele>72.200000</ele>
-<time>2005-06-05T00:00:48Z</time>
+<time>2005-06-05T00:00:48.479Z</time>
<course>310.510010</course>
<speed>0.648200</speed>
<name>WP0055</name>
</trkpt>
<trkpt lat="45.494326651" lon="-75.736839974">
<ele>72.500000</ele>
-<time>2005-06-05T00:00:59Z</time>
+<time>2005-06-05T00:00:59.478Z</time>
<course>208.550003</course>
<speed>0.529878</speed>
<name>WP0056</name>
</trkpt>
<trkpt lat="45.494348318" lon="-75.737104974">
<ele>73.000000</ele>
-<time>2005-06-05T00:01:09Z</time>
+<time>2005-06-05T00:01:09.478Z</time>
<course>292.980011</course>
<speed>1.574200</speed>
<name>WP0057</name>
</trkpt>
<trkpt lat="45.494411651" lon="-75.737268307">
<ele>73.300000</ele>
-<time>2005-06-05T00:01:44Z</time>
+<time>2005-06-05T00:01:44.475Z</time>
<course>348.260010</course>
<speed>1.409578</speed>
<name>WP0058</name>
</trkpt>
<trkpt lat="45.494488318" lon="-75.737228307">
<ele>78.100000</ele>
-<time>2005-06-05T00:01:58Z</time>
+<time>2005-06-05T00:01:58.474Z</time>
<course>357.940002</course>
<speed>1.352989</speed>
<name>WP0059</name>
</trkpt>
<trkpt lat="45.494713318" lon="-75.737163307">
<ele>77.000000</ele>
-<time>2005-06-05T00:02:16Z</time>
+<time>2005-06-05T00:02:16.473Z</time>
<course>341.100006</course>
<speed>0.905422</speed>
<name>WP0060</name>
</trkpt>
<trkpt lat="45.494818318" lon="-75.737188307">
<ele>75.500000</ele>
-<time>2005-06-05T00:02:25Z</time>
+<time>2005-06-05T00:02:25.473Z</time>
<course>11.500000</course>
<speed>0.216067</speed>
<name>WP0061</name>
</trkpt>
<trkpt lat="45.495011651" lon="-75.737183307">
<ele>71.000000</ele>
-<time>2005-06-05T00:02:42Z</time>
+<time>2005-06-05T00:02:42.472Z</time>
<course>26.420000</course>
<speed>0.807678</speed>
<name>WP0062</name>
</trkpt>
<trkpt lat="45.495254984" lon="-75.737171640">
<ele>75.800000</ele>
-<time>2005-06-05T00:03:21Z</time>
+<time>2005-06-05T00:03:21.469Z</time>
<course>37.529999</course>
<speed>1.188367</speed>
<name>WP0063</name>
</trkpt>
<trkpt lat="45.495354984" lon="-75.737114974">
<ele>72.600000</ele>
-<time>2005-06-05T00:03:31Z</time>
+<time>2005-06-05T00:03:31.468Z</time>
<course>48.630001</course>
<speed>1.527900</speed>
<name>WP0064</name>
</trkpt>
<trkpt lat="45.495581651" lon="-75.736874974">
<ele>70.300000</ele>
-<time>2005-06-05T00:03:53Z</time>
+<time>2005-06-05T00:03:53.467Z</time>
<course>26.750000</course>
<speed>1.059756</speed>
<name>WP0065</name>
</trkpt>
<trkpt lat="45.495921651" lon="-75.736509974">
<ele>74.600000</ele>
-<time>2005-06-05T00:04:31Z</time>
+<time>2005-06-05T00:04:31.464Z</time>
<course>201.380005</course>
<speed>0.843689</speed>
<name>WP0066</name>
</trkpt>
<trkpt lat="45.495844984" lon="-75.736588307">
<ele>76.300000</ele>
-<time>2005-06-05T00:05:05Z</time>
+<time>2005-06-05T00:05:05.462Z</time>
<course>117.099998</course>
<speed>0.457856</speed>
<name>WP0067</name>
</trkpt>
<trkpt lat="45.495876651" lon="-75.736471640">
<ele>72.100000</ele>
-<time>2005-06-05T00:05:45Z</time>
+<time>2005-06-05T00:05:45.459Z</time>
<course>130.149994</course>
<speed>0.149189</speed>
<name>WP0068</name>
</trkpt>
<trkpt lat="45.495916651" lon="-75.736536640">
<ele>80.900000</ele>
-<time>2005-06-05T00:06:19Z</time>
+<time>2005-06-05T00:06:19.457Z</time>
<course>129.250000</course>
<speed>0.313811</speed>
<name>WP0069</name>
</trkpt>
<trkpt lat="45.495866651" lon="-75.736521640">
<ele>89.500000</ele>
-<time>2005-06-05T00:06:25Z</time>
+<time>2005-06-05T00:06:25.457Z</time>
<course>87.769997</course>
<speed>0.061733</speed>
<name>WP0070</name>
</trkpt>
<trkpt lat="45.496203318" lon="-75.734848307">
<ele>102.100000</ele>
-<time>2005-06-05T00:37:53Z</time>
+<time>2005-06-05T00:37:53.913Z</time>
<course>164.850006</course>
<speed>0.123467</speed>
<name>WP0071</name>
</trkpt>
<trkpt lat="45.496083318" lon="-75.734841640">
<ele>102.800000</ele>
-<time>2005-06-11T00:38:21Z</time>
+<time>2005-06-11T00:38:21.912Z</time>
<course>244.000000</course>
<speed>0.396122</speed>
<name>WP0072</name>
</trkpt>
<trkpt lat="45.496109984" lon="-75.734754974">
<ele>94.100000</ele>
-<time>2005-06-11T00:38:55Z</time>
+<time>2005-06-11T00:38:55.909Z</time>
<course>86.839996</course>
<speed>0.812822</speed>
<name>WP0073</name>
</trkpt>
<trkpt lat="45.496299984" lon="-75.734379974">
<ele>93.300000</ele>
-<time>2005-06-11T00:39:44Z</time>
+<time>2005-06-11T00:39:44.906Z</time>
<course>216.110001</course>
<speed>0.118322</speed>
<name>WP0074</name>
</trkpt>
<trkpt lat="45.496259984" lon="-75.734368307">
<ele>83.800000</ele>
-<time>2005-06-11T00:40:44Z</time>
+<time>2005-06-11T00:40:44.902Z</time>
<course>250.699997</course>
<speed>1.198656</speed>
<name>WP0075</name>
</trkpt>
<trkpt lat="45.496204984" lon="-75.734474974">
<ele>85.100000</ele>
-<time>2005-06-11T00:41:04Z</time>
+<time>2005-06-11T00:41:04.901Z</time>
<course>238.919998</course>
<speed>1.656511</speed>
<name>WP0076</name>
</trkpt>
<trkpt lat="45.496191651" lon="-75.734614974">
<ele>85.600000</ele>
-<time>2005-06-11T00:41:11Z</time>
+<time>2005-06-11T00:41:11.900Z</time>
<course>235.460007</course>
<speed>1.718244</speed>
<name>WP0077</name>
</trkpt>
<trkpt lat="45.496134984" lon="-75.734768307">
<ele>85.900000</ele>
-<time>2005-06-11T00:41:19Z</time>
+<time>2005-06-11T00:41:19.900Z</time>
<course>248.250000</course>
<speed>1.342700</speed>
<name>WP0078</name>
</trkpt>
<trkpt lat="45.496108318" lon="-75.734911640">
<ele>85.200000</ele>
-<time>2005-06-11T00:41:27Z</time>
+<time>2005-06-11T00:41:27.899Z</time>
<course>260.279999</course>
<speed>0.992878</speed>
<name>WP0079</name>
</trkpt>
<trkpt lat="45.496044984" lon="-75.735079974">
<ele>87.100000</ele>
-<time>2005-06-11T00:41:43Z</time>
+<time>2005-06-11T00:41:43.898Z</time>
<course>215.869995</course>
<speed>1.270678</speed>
<name>WP0080</name>
</trkpt>
<trkpt lat="45.495993318" lon="-75.735166640">
<ele>82.300000</ele>
-<time>2005-06-11T00:41:51Z</time>
+<time>2005-06-11T00:41:51.898Z</time>
<course>238.919998</course>
<speed>1.095767</speed>
<name>WP0081</name>
</trkpt>
<trkpt lat="45.495931651" lon="-75.735276640">
<ele>78.800000</ele>
-<time>2005-06-11T00:42:00Z</time>
+<time>2005-06-11T00:42:00.897Z</time>
<course>235.889999</course>
<speed>0.992878</speed>
<name>WP0082</name>
</trkpt>
<trkpt lat="45.495874984" lon="-75.735439974">
<ele>75.500000</ele>
-<time>2005-06-11T00:42:14Z</time>
+<time>2005-06-11T00:42:14.896Z</time>
<course>228.059998</course>
<speed>0.987733</speed>
<name>WP0083</name>
</trkpt>
<trkpt lat="45.495826651" lon="-75.735561640">
<ele>74.100000</ele>
-<time>2005-06-11T00:42:25Z</time>
+<time>2005-06-11T00:42:25.895Z</time>
<course>322.799988</course>
<speed>1.152356</speed>
<name>WP0084</name>
</trkpt>
<trkpt lat="45.495858318" lon="-75.735689974">
<ele>72.500000</ele>
-<time>2005-06-11T00:42:50Z</time>
+<time>2005-06-11T00:42:50.894Z</time>
<course>333.309998</course>
<speed>0.468144</speed>
<name>WP0085</name>
</trkpt>
<trkpt lat="45.495931651" lon="-75.735779974">
<ele>74.000000</ele>
-<time>2005-06-11T00:43:01Z</time>
+<time>2005-06-11T00:43:01.893Z</time>
<course>154.389999</course>
<speed>1.275822</speed>
<name>WP0086</name>
</trkpt>
<trkpt lat="45.495899984" lon="-75.735658307">
<ele>74.700000</ele>
-<time>2005-06-11T00:43:09Z</time>
+<time>2005-06-11T00:43:09.893Z</time>
<course>197.889999</course>
<speed>1.234667</speed>
<name>WP0087</name>
</trkpt>
<trkpt lat="45.495808318" lon="-75.735613307">
<ele>72.300000</ele>
-<time>2005-06-11T00:43:38Z</time>
+<time>2005-06-11T00:43:38.891Z</time>
<course>194.039993</course>
<speed>0.365256</speed>
<name>WP0088</name>
</trkpt>
<trkpt lat="45.495711651" lon="-75.735599974">
<ele>72.200000</ele>
-<time>2005-06-11T00:44:05Z</time>
+<time>2005-06-11T00:44:05.889Z</time>
<course>237.380005</course>
<speed>0.776811</speed>
<name>WP0089</name>
</trkpt>
<trkpt lat="45.495679984" lon="-75.735724974">
<ele>73.000000</ele>
-<time>2005-06-11T00:44:11Z</time>
+<time>2005-06-11T00:44:11.888Z</time>
<course>272.200012</course>
<speed>0.874556</speed>
<name>WP0090</name>
</trkpt>
<trkpt lat="45.495651651" lon="-75.735859974">
<ele>74.400000</ele>
-<time>2005-06-11T00:44:23Z</time>
+<time>2005-06-11T00:44:23.888Z</time>
<course>214.550003</course>
<speed>0.174911</speed>
<name>WP0091</name>
</trkpt>
<trkpt lat="45.495756651" lon="-75.735824974">
<ele>81.200000</ele>
-<time>2005-06-11T00:44:43Z</time>
+<time>2005-06-11T00:44:43.886Z</time>
<course>209.389999</course>
<speed>0.216067</speed>
<name>WP0092</name>
</trkpt>
<trkpt lat="45.495728318" lon="-75.735801640">
<ele>70.100000</ele>
-<time>2005-06-11T00:44:47Z</time>
+<time>2005-06-11T00:44:47.886Z</time>
<course>256.739990</course>
<speed>0.673922</speed>
<name>WP0093</name>
</trkpt>
<trkpt lat="45.495708318" lon="-75.735911640">
<ele>64.400000</ele>
-<time>2005-06-11T00:45:02Z</time>
+<time>2005-06-11T00:45:02.885Z</time>
<course>294.750000</course>
<speed>0.817967</speed>
<name>WP0094</name>
</trkpt>
<trkpt lat="45.495683318" lon="-75.736064974">
<ele>64.000000</ele>
-<time>2005-06-11T00:45:35Z</time>
+<time>2005-06-11T00:45:35.883Z</time>
<course>174.509995</course>
<speed>0.617333</speed>
<name>WP0095</name>
</trkpt>
<trkpt lat="45.495584984" lon="-75.736138307">
<ele>64.600000</ele>
-<time>2005-06-11T00:46:07Z</time>
+<time>2005-06-11T00:46:07.881Z</time>
<course>122.470001</course>
<speed>0.720222</speed>
<name>WP0096</name>
</trkpt>
<trkpt lat="45.495651651" lon="-75.736043307">
<ele>67.300000</ele>
-<time>2005-06-11T00:46:36Z</time>
+<time>2005-06-11T00:46:36.879Z</time>
<course>189.600006</course>
<speed>0.128611</speed>
<name>WP0097</name>
</trkpt>
<trkpt lat="45.495691651" lon="-75.735939974">
<ele>71.400000</ele>
-<time>2005-06-11T00:48:44Z</time>
+<time>2005-06-11T00:48:44.870Z</time>
<course>182.949997</course>
<speed>0.108033</speed>
<name>WP0098</name>
</trkpt>
<trkpt lat="45.495706651" lon="-75.736066640">
<ele>71.700000</ele>
-<time>2005-06-11T00:49:14Z</time>
+<time>2005-06-11T00:49:14.868Z</time>
<course>52.070000</course>
<speed>0.164622</speed>
<name>WP0099</name>
</trkpt>
<trkpt lat="45.495733318" lon="-75.735924974">
<ele>72.300000</ele>
-<time>2005-06-11T00:51:19Z</time>
+<time>2005-06-11T00:51:19.860Z</time>
<course>155.990005</course>
<speed>0.113178</speed>
<name>WP0100</name>
</trkpt>
<trkpt lat="45.495666651" lon="-75.735996640">
<ele>81.200000</ele>
-<time>2005-06-11T00:51:31Z</time>
+<time>2005-06-11T00:51:31.859Z</time>
<course>97.730003</course>
<speed>1.111200</speed>
<name>WP0101</name>
</trkpt>
<trkpt lat="45.495646651" lon="-75.735903307">
<ele>74.500000</ele>
-<time>2005-06-11T00:51:43Z</time>
+<time>2005-06-11T00:51:43.858Z</time>
<course>50.860001</course>
<speed>1.625644</speed>
<name>WP0102</name>
</trkpt>
<trkpt lat="45.495689984" lon="-75.735704974">
<ele>74.700000</ele>
-<time>2005-06-11T00:51:53Z</time>
+<time>2005-06-11T00:51:53.858Z</time>
<course>44.029999</course>
<speed>1.347844</speed>
<name>WP0103</name>
</trkpt>
<trkpt lat="45.495769984" lon="-75.735519974">
<ele>76.200000</ele>
-<time>2005-06-11T00:52:08Z</time>
+<time>2005-06-11T00:52:08.857Z</time>
<course>82.080002</course>
<speed>0.715078</speed>
<name>WP0104</name>
</trkpt>
<trkpt lat="45.495858318" lon="-75.735479974">
<ele>77.900000</ele>
-<time>2005-06-11T00:52:19Z</time>
+<time>2005-06-11T00:52:19.856Z</time>
<course>80.239998</course>
<speed>0.745944</speed>
<name>WP0105</name>
</trkpt>
<trkpt lat="45.495914984" lon="-75.735378307">
<ele>78.600000</ele>
-<time>2005-06-11T00:52:27Z</time>
+<time>2005-06-11T00:52:27.856Z</time>
<course>47.939999</course>
<speed>1.733678</speed>
<name>WP0106</name>
</trkpt>
<trkpt lat="45.495991651" lon="-75.735234974">
<ele>80.700000</ele>
-<time>2005-06-11T00:52:37Z</time>
+<time>2005-06-11T00:52:37.855Z</time>
<course>62.310001</course>
<speed>1.116344</speed>
<name>WP0107</name>
</trkpt>
<trkpt lat="45.496076651" lon="-75.735043307">
<ele>84.400000</ele>
-<time>2005-06-11T00:52:54Z</time>
+<time>2005-06-11T00:52:54.854Z</time>
<course>59.770000</course>
<speed>1.435300</speed>
<name>WP0108</name>
</trkpt>
<trkpt lat="45.496214984" lon="-75.734634974">
<ele>92.600000</ele>
-<time>2005-06-11T00:53:33Z</time>
+<time>2005-06-11T00:53:33.851Z</time>
<course>57.660000</course>
<speed>1.260389</speed>
<name>WP0109</name>
</trkpt>
<trkpt lat="45.496243318" lon="-75.734476640">
<ele>95.800000</ele>
-<time>2005-06-11T00:53:43Z</time>
+<time>2005-06-11T00:53:43.850Z</time>
<course>55.730000</course>
<speed>1.399289</speed>
<name>WP0110</name>
</trkpt>
<trkpt lat="45.496326651" lon="-75.734336640">
<ele>94.700000</ele>
-<time>2005-06-11T00:53:53Z</time>
+<time>2005-06-11T00:53:53.850Z</time>
<course>28.459999</course>
<speed>1.286111</speed>
<name>WP0111</name>
</trkpt>
<trkpt lat="45.496198318" lon="-75.734216640">
<ele>59.200000</ele>
-<time>2005-06-11T14:39:26Z</time>
+<time>2005-06-11T14:39:26.882Z</time>
<course>245.169998</course>
<speed>0.972300</speed>
<name>WP0112</name>
</trkpt>
<trkpt lat="45.496179984" lon="-75.734338307">
<ele>55.200000</ele>
-<time>2005-06-12T14:39:42Z</time>
+<time>2005-06-12T14:39:42.881Z</time>
<course>240.100006</course>
<speed>1.553622</speed>
<name>WP0113</name>
</trkpt>
<trkpt lat="45.496081651" lon="-75.734656640">
<ele>56.100000</ele>
-<time>2005-06-12T14:40:08Z</time>
+<time>2005-06-12T14:40:08.879Z</time>
<course>238.809998</course>
<speed>1.265533</speed>
<name>WP0114</name>
</trkpt>
<trkpt lat="45.495996651" lon="-75.734781640">
<ele>54.500000</ele>
-<time>2005-06-12T14:40:16Z</time>
+<time>2005-06-12T14:40:16.878Z</time>
<course>242.740005</course>
<speed>1.183222</speed>
<name>WP0115</name>
</trkpt>
<trkpt lat="45.495906651" lon="-75.734983307">
<ele>48.700000</ele>
-<time>2005-06-12T14:40:33Z</time>
+<time>2005-06-12T14:40:33.877Z</time>
<course>236.539993</course>
<speed>1.003167</speed>
<name>WP0116</name>
</trkpt>
<trkpt lat="45.495801651" lon="-75.735363307">
<ele>43.700000</ele>
-<time>2005-06-12T14:41:02Z</time>
+<time>2005-06-12T14:41:02.875Z</time>
<course>261.720001</course>
<speed>1.713100</speed>
<name>WP0117</name>
</trkpt>
<trkpt lat="45.495801651" lon="-75.735514974">
<ele>45.100000</ele>
-<time>2005-06-12T14:41:16Z</time>
+<time>2005-06-12T14:41:16.874Z</time>
<course>298.739990</course>
<speed>1.265533</speed>
<name>WP0118</name>
</trkpt>
<trkpt lat="45.495833318" lon="-75.735654974">
<ele>44.600000</ele>
-<time>2005-06-12T14:41:24Z</time>
+<time>2005-06-12T14:41:24.874Z</time>
<course>313.660004</course>
<speed>1.188367</speed>
<name>WP0119</name>
</trkpt>
<trkpt lat="45.495914984" lon="-75.735726640">
<ele>44.100000</ele>
-<time>2005-06-12T14:41:31Z</time>
+<time>2005-06-12T14:41:31.873Z</time>
<course>330.829987</course>
<speed>1.347844</speed>
<name>WP0120</name>
</trkpt>
<trkpt lat="45.495956651" lon="-75.735839974">
<ele>43.000000</ele>
-<time>2005-06-12T14:41:40Z</time>
+<time>2005-06-12T14:41:40.873Z</time>
<course>334.989990</course>
<speed>1.198656</speed>
<name>WP0121</name>
</trkpt>
<trkpt lat="45.496036651" lon="-75.735908307">
<ele>42.000000</ele>
-<time>2005-06-12T14:41:48Z</time>
+<time>2005-06-12T14:41:48.872Z</time>
<course>341.049988</course>
<speed>1.687378</speed>
<name>WP0122</name>
</trkpt>
<trkpt lat="45.496151651" lon="-75.735971640">
<ele>41.400000</ele>
-<time>2005-06-12T14:41:55Z</time>
+<time>2005-06-12T14:41:55.872Z</time>
<course>1.620000</course>
<speed>1.594778</speed>
<name>WP0123</name>
</trkpt>
<trkpt lat="45.496328318" lon="-75.735998307">
<ele>41.600000</ele>
-<time>2005-06-12T14:42:05Z</time>
+<time>2005-06-12T14:42:05.871Z</time>
<course>18.180000</course>
<speed>1.106055</speed>
<name>WP0124</name>
</trkpt>
<trkpt lat="45.496431651" lon="-75.735963307">
<ele>41.600000</ele>
-<time>2005-06-12T14:42:14Z</time>
+<time>2005-06-12T14:42:14.871Z</time>
<course>10.700000</course>
<speed>1.311833</speed>
<name>WP0125</name>
</trkpt>
<trkpt lat="45.496608318" lon="-75.735874974">
<ele>41.600000</ele>
-<time>2005-06-12T14:42:31Z</time>
+<time>2005-06-12T14:42:31.870Z</time>
<course>333.260010</course>
<speed>0.766522</speed>
<name>WP0126</name>
</trkpt>
<trkpt lat="45.496763318" lon="-75.735828307">
<ele>41.600000</ele>
-<time>2005-06-12T14:42:44Z</time>
+<time>2005-06-12T14:42:44.869Z</time>
<course>348.489990</course>
<speed>1.126633</speed>
<name>WP0127</name>
</trkpt>
<trkpt lat="45.496854984" lon="-75.735886640">
<ele>41.600000</ele>
-<time>2005-06-12T14:42:50Z</time>
+<time>2005-06-12T14:42:50.868Z</time>
<course>335.130005</course>
<speed>1.106055</speed>
<name>WP0128</name>
</trkpt>
<trkpt lat="45.496996651" lon="-75.735931640">
<ele>41.600000</ele>
-<time>2005-06-12T14:43:03Z</time>
+<time>2005-06-12T14:43:03.867Z</time>
<course>356.950012</course>
<speed>1.733678</speed>
<name>WP0129</name>
</trkpt>
<trkpt lat="45.497081651" lon="-75.735889974">
<ele>41.600000</ele>
-<time>2005-06-12T14:43:06Z</time>
+<time>2005-06-12T14:43:06.867Z</time>
<course>344.679993</course>
<speed>0.977444</speed>
<name>WP0130</name>
</trkpt>
<trkpt lat="45.497164984" lon="-75.735838307">
<ele>41.600000</ele>
-<time>2005-06-12T14:43:15Z</time>
+<time>2005-06-12T14:43:15.867Z</time>
<course>69.209999</course>
<speed>1.239811</speed>
<name>WP0131</name>
</trkpt>
<trkpt lat="45.497229984" lon="-75.735719974">
<ele>41.600000</ele>
-<time>2005-06-12T14:43:24Z</time>
+<time>2005-06-12T14:43:24.866Z</time>
<course>83.389999</course>
<speed>1.491889</speed>
<name>WP0132</name>
</trkpt>
<trkpt lat="45.497303318" lon="-75.735568307">
<ele>41.700000</ele>
-<time>2005-06-12T14:43:34Z</time>
+<time>2005-06-12T14:43:34.865Z</time>
<course>93.379997</course>
<speed>1.569056</speed>
<name>WP0133</name>
</trkpt>
<trkpt lat="45.497301651" lon="-75.735439974">
<ele>41.700000</ele>
-<time>2005-06-12T14:43:41Z</time>
+<time>2005-06-12T14:43:41.865Z</time>
<course>105.099998</course>
<speed>1.831422</speed>
<name>WP0134</name>
</trkpt>
<trkpt lat="45.497318318" lon="-75.735193307">
<ele>41.800000</ele>
-<time>2005-06-12T14:43:54Z</time>
+<time>2005-06-12T14:43:54.864Z</time>
<course>63.990002</course>
<speed>1.373567</speed>
<name>WP0135</name>
</trkpt>
<trkpt lat="45.497329984" lon="-75.734973307">
<ele>42.300000</ele>
-<time>2005-06-12T14:44:06Z</time>
+<time>2005-06-12T14:44:06.863Z</time>
<course>67.769997</course>
<speed>1.769689</speed>
<name>WP0136</name>
</trkpt>
<trkpt lat="45.497464984" lon="-75.733798307">
<ele>45.200000</ele>
-<time>2005-06-12T14:44:53Z</time>
+<time>2005-06-12T14:44:53.860Z</time>
<course>108.410004</course>
<speed>1.358133</speed>
<name>WP0137</name>
</trkpt>
<trkpt lat="45.497519984" lon="-75.733038307">
<ele>46.700000</ele>
-<time>2005-06-12T14:45:30Z</time>
+<time>2005-06-12T14:45:30.858Z</time>
<course>104.510002</course>
<speed>1.219233</speed>
<name>WP0138</name>
</trkpt>
<trkpt lat="45.497474984" lon="-75.732808307">
<ele>47.400000</ele>
-<time>2005-06-12T14:45:44Z</time>
+<time>2005-06-12T14:45:44.857Z</time>
<course>260.720001</course>
<speed>1.023744</speed>
<name>WP0139</name>
</trkpt>
<trkpt lat="45.497466651" lon="-75.732938307">
<ele>48.300000</ele>
-<time>2005-06-12T14:45:55Z</time>
+<time>2005-06-12T14:45:55.856Z</time>
<course>274.910004</course>
<speed>1.399289</speed>
<name>WP0140</name>
</trkpt>
<trkpt lat="45.497506651" lon="-75.733146640">
<ele>49.000000</ele>
-<time>2005-06-12T14:46:07Z</time>
+<time>2005-06-12T14:46:07.855Z</time>
<course>252.429993</course>
<speed>0.802533</speed>
<name>WP0141</name>
</trkpt>
<trkpt lat="45.497499984" lon="-75.733361640">
<ele>49.400000</ele>
-<time>2005-06-12T14:46:22Z</time>
+<time>2005-06-12T14:46:22.854Z</time>
<course>174.869995</course>
<speed>0.504156</speed>
<name>WP0142</name>
</trkpt>
<trkpt lat="45.497463318" lon="-75.733511640">
<ele>49.900000</ele>
-<time>2005-06-12T14:46:37Z</time>
+<time>2005-06-12T14:46:37.853Z</time>
<course>223.550003</course>
<speed>0.838544</speed>
<name>WP0143</name>
</trkpt>
<trkpt lat="45.497483318" lon="-75.733636640">
<ele>49.500000</ele>
-<time>2005-06-12T14:47:06Z</time>
+<time>2005-06-12T14:47:06.852Z</time>
<course>255.070007</course>
<speed>1.244956</speed>
<name>WP0144</name>
</trkpt>
<trkpt lat="45.497466651" lon="-75.733898307">
<ele>55.000000</ele>
-<time>2005-06-12T14:47:31Z</time>
+<time>2005-06-12T14:47:31.850Z</time>
<course>267.149994</course>
<speed>1.080333</speed>
<name>WP0145</name>
</trkpt>
<trkpt lat="45.497471651" lon="-75.734046640">
<ele>56.600000</ele>
-<time>2005-06-12T14:47:40Z</time>
+<time>2005-06-12T14:47:40.849Z</time>
<course>158.740005</course>
<speed>0.761378</speed>
<name>WP0146</name>
</trkpt>
<trkpt lat="45.497383318" lon="-75.734076640">
<ele>56.100000</ele>
-<time>2005-06-12T14:48:17Z</time>
+<time>2005-06-12T14:48:17.847Z</time>
<course>233.080002</course>
<speed>1.121489</speed>
<name>WP0147</name>
</trkpt>
<trkpt lat="45.497269984" lon="-75.734148307">
<ele>56.700000</ele>
-<time>2005-06-12T14:48:37Z</time>
+<time>2005-06-12T14:48:37.846Z</time>
<course>150.190002</course>
<speed>0.169767</speed>
<name>WP0148</name>
</trkpt>
<trkpt lat="45.497241651" lon="-75.734263307">
<ele>70.600000</ele>
-<time>2005-06-12T14:49:04Z</time>
+<time>2005-06-12T14:49:04.844Z</time>
<course>155.179993</course>
<speed>0.915711</speed>
<name>WP0149</name>
</trkpt>
<trkpt lat="45.497159984" lon="-75.734243307">
<ele>75.600000</ele>
-<time>2005-06-12T14:49:14Z</time>
+<time>2005-06-12T14:49:14.843Z</time>
<course>137.089996</course>
<speed>0.571033</speed>
<name>WP0150</name>
</trkpt>
<trkpt lat="45.497066651" lon="-75.734216640">
<ele>76.100000</ele>
-<time>2005-06-12T14:49:29Z</time>
+<time>2005-06-12T14:49:29.842Z</time>
<course>356.690002</course>
<speed>0.226356</speed>
<name>WP0151</name>
</trkpt>
<trkpt lat="45.496981651" lon="-75.734176640">
<ele>77.400000</ele>
-<time>2005-06-12T14:49:49Z</time>
+<time>2005-06-12T14:49:49.841Z</time>
<course>233.190002</course>
<speed>0.926000</speed>
<name>WP0152</name>
</trkpt>
<trkpt lat="45.497001651" lon="-75.734269974">
<ele>84.500000</ele>
-<time>2005-06-12T14:50:10Z</time>
+<time>2005-06-12T14:50:10.839Z</time>
<course>66.459999</course>
<speed>1.075189</speed>
<name>WP0153</name>
</trkpt>
<trkpt lat="45.497056651" lon="-75.734181640">
<ele>90.200000</ele>
-<time>2005-06-12T14:50:25Z</time>
+<time>2005-06-12T14:50:25.839Z</time>
<course>285.640015</course>
<speed>0.853978</speed>
<name>WP0154</name>
</trkpt>
<trkpt lat="45.497098318" lon="-75.734301640">
<ele>93.200000</ele>
-<time>2005-06-12T14:50:45Z</time>
+<time>2005-06-12T14:50:45.837Z</time>
<course>250.550003</course>
<speed>1.214089</speed>
<name>WP0155</name>
</trkpt>
<trkpt lat="45.497131651" lon="-75.734461640">
<ele>94.400000</ele>
-<time>2005-06-12T14:50:55Z</time>
+<time>2005-06-12T14:50:55.837Z</time>
<course>245.679993</course>
<speed>1.100911</speed>
<name>WP0156</name>
</trkpt>
<trkpt lat="45.497083318" lon="-75.734576640">
<ele>95.400000</ele>
-<time>2005-06-12T14:51:04Z</time>
+<time>2005-06-12T14:51:04.836Z</time>
<course>244.559998</course>
<speed>1.188367</speed>
<name>WP0157</name>
</trkpt>
<trkpt lat="45.497011651" lon="-75.734718307">
<ele>96.500000</ele>
-<time>2005-06-12T14:51:16Z</time>
+<time>2005-06-12T14:51:16.835Z</time>
<course>262.299988</course>
<speed>1.671944</speed>
<name>WP0158</name>
</trkpt>
<trkpt lat="45.497041651" lon="-75.734841640">
<ele>96.300000</ele>
-<time>2005-06-12T14:51:38Z</time>
+<time>2005-06-12T14:51:38.834Z</time>
<course>207.820007</course>
<speed>1.070044</speed>
<name>WP0159</name>
</trkpt>
<trkpt lat="45.496978318" lon="-75.734936640">
<ele>97.000000</ele>
-<time>2005-06-12T14:51:47Z</time>
+<time>2005-06-12T14:51:47.833Z</time>
<course>269.070007</course>
<speed>1.404433</speed>
<name>WP0160</name>
</trkpt>
<trkpt lat="45.496954984" lon="-75.735069974">
<ele>96.900000</ele>
-<time>2005-06-12T14:51:57Z</time>
+<time>2005-06-12T14:51:57.832Z</time>
<course>229.419998</course>
<speed>0.982589</speed>
<name>WP0161</name>
</trkpt>
<trkpt lat="45.496956651" lon="-75.735244974">
<ele>98.200000</ele>
-<time>2005-06-12T14:52:10Z</time>
+<time>2005-06-12T14:52:10.832Z</time>
<course>242.610001</course>
<speed>0.730511</speed>
<name>WP0162</name>
</trkpt>
<trkpt lat="45.496894984" lon="-75.735343307">
<ele>98.600000</ele>
-<time>2005-06-12T14:52:24Z</time>
+<time>2005-06-12T14:52:24.831Z</time>
<course>220.550003</course>
<speed>1.497033</speed>
<name>WP0163</name>
</trkpt>
<trkpt lat="45.496828318" lon="-75.735484974">
<ele>98.400000</ele>
-<time>2005-06-12T14:52:38Z</time>
+<time>2005-06-12T14:52:38.830Z</time>
<course>237.889999</course>
<speed>1.106055</speed>
<name>WP0164</name>
</trkpt>
<trkpt lat="45.496764984" lon="-75.735634974">
<ele>98.200000</ele>
-<time>2005-06-12T14:52:51Z</time>
+<time>2005-06-12T14:52:51.829Z</time>
<course>253.720001</course>
<speed>1.445589</speed>
<name>WP0165</name>
</trkpt>
<trkpt lat="45.496698318" lon="-75.735818307">
<ele>97.000000</ele>
-<time>2005-06-12T14:53:04Z</time>
+<time>2005-06-12T14:53:04.828Z</time>
<course>224.910004</course>
<speed>2.515633</speed>
<name>WP0166</name>
</trkpt>
<trkpt lat="45.496658318" lon="-75.735986640">
<ele>96.600000</ele>
-<time>2005-06-12T14:53:12Z</time>
+<time>2005-06-12T14:53:12.828Z</time>
<course>204.449997</course>
<speed>2.459044</speed>
<name>WP0167</name>
</trkpt>
<trkpt lat="45.496573318" lon="-75.736061640">
<ele>96.100000</ele>
-<time>2005-06-12T14:53:17Z</time>
+<time>2005-06-12T14:53:17.827Z</time>
<course>185.449997</course>
<speed>2.165811</speed>
<name>WP0168</name>
</trkpt>
<trkpt lat="45.496441651" lon="-75.736114974">
<ele>94.800000</ele>
-<time>2005-06-12T14:53:25Z</time>
+<time>2005-06-12T14:53:25.827Z</time>
<course>157.490005</course>
<speed>2.021767</speed>
<name>WP0169</name>
</trkpt>
<trkpt lat="45.496343318" lon="-75.736063307">
<ele>95.200000</ele>
-<time>2005-06-12T14:53:30Z</time>
+<time>2005-06-12T14:53:30.826Z</time>
<course>137.639999</course>
<speed>1.764544</speed>
<name>WP0170</name>
</trkpt>
<trkpt lat="45.495934984" lon="-75.735669974">
<ele>93.600000</ele>
-<time>2005-06-12T14:53:51Z</time>
+<time>2005-06-12T14:53:51.825Z</time>
<course>83.290001</course>
<speed>1.455878</speed>
<name>WP0171</name>
</trkpt>
<trkpt lat="45.495949984" lon="-75.735524974">
<ele>92.400000</ele>
-<time>2005-06-12T14:53:56Z</time>
+<time>2005-06-12T14:53:56.825Z</time>
<course>86.800003</course>
<speed>0.895133</speed>
<name>WP0172</name>
</trkpt>
<trkpt lat="45.495986651" lon="-75.735344974">
<ele>91.200000</ele>
-<time>2005-06-12T14:54:07Z</time>
+<time>2005-06-12T14:54:07.824Z</time>
<course>79.180000</course>
<speed>0.828256</speed>
<name>WP0173</name>
</trkpt>
<trkpt lat="45.496024984" lon="-75.735221640">
<ele>92.400000</ele>
-<time>2005-06-12T14:54:19Z</time>
+<time>2005-06-12T14:54:19.823Z</time>
<course>82.589996</course>
<speed>0.766522</speed>
<name>WP0174</name>
</trkpt>
<trkpt lat="45.496096651" lon="-75.734986640">
<ele>94.400000</ele>
-<time>2005-06-12T14:54:46Z</time>
+<time>2005-06-12T14:54:46.821Z</time>
<course>67.809998</course>
<speed>0.956867</speed>
<name>WP0175</name>
</trkpt>
<trkpt lat="45.496131651" lon="-75.734836640">
<ele>92.800000</ele>
-<time>2005-06-12T14:55:02Z</time>
+<time>2005-06-12T14:55:02.820Z</time>
<course>43.900002</course>
<speed>1.260389</speed>
<name>WP0176</name>
</trkpt>
<trkpt lat="45.496186651" lon="-75.734716640">
<ele>94.900000</ele>
-<time>2005-06-12T14:55:11Z</time>
+<time>2005-06-12T14:55:11.820Z</time>
<course>81.980003</course>
<speed>1.142067</speed>
<name>WP0177</name>
</trkpt>
<trkpt lat="45.496241651" lon="-75.734586640">
<ele>95.600000</ele>
-<time>2005-06-12T14:55:21Z</time>
+<time>2005-06-12T14:55:21.819Z</time>
<course>109.800003</course>
<speed>0.056589</speed>
<name>WP0178</name>
</trkpt>
<trkpt lat="45.496301651" lon="-75.734363307">
<ele>96.300000</ele>
-<time>2005-06-12T14:55:43Z</time>
+<time>2005-06-12T14:55:43.818Z</time>
<course>206.750000</course>
<speed>0.627622</speed>
<name>WP0179</name>
</trkpt>
<trkpt lat="45.496216651" lon="-75.734409974">
<ele>96.300000</ele>
-<time>2005-06-12T14:56:17Z</time>
+<time>2005-06-12T14:56:17.815Z</time>
<course>186.479996</course>
<speed>0.735656</speed>
<name>WP0180</name>
</trkpt>
<trkpt lat="45.496306651" lon="-75.734371640">
<ele>98.800000</ele>
-<time>2005-06-12T14:56:27Z</time>
+<time>2005-06-12T14:56:27.815Z</time>
<course>185.270004</course>
<speed>0.483578</speed>
<name>WP0181</name>
</trkpt>
<trkpt lat="45.496194984" lon="-75.734224974">
<ele>97.900000</ele>
-<time>2005-06-12T14:57:10Z</time>
+<time>2005-06-12T14:57:10.812Z</time>
<course>166.690002</course>
<speed>6.152756</speed>
<name>WP0182</name>
</trkpt>
<trkpt lat="45.495998318" lon="-75.734101640">
<ele>97.600000</ele>
-<time>2005-06-12T14:57:13Z</time>
+<time>2005-06-12T14:57:13.812Z</time>
<course>166.690002</course>
<speed>6.152756</speed>
<name>WP0183</name>
</trkpt>
<trkpt lat="45.494281651" lon="-75.733509974">
<ele>97.300000</ele>
-<time>2005-06-12T14:57:44Z</time>
+<time>2005-06-12T14:57:44.810Z</time>
<course>166.690002</course>
<speed>6.152756</speed>
<name>WP0184</name>
</trkpt>
<trkpt lat="45.491526651" lon="-75.730496640">
<ele>97.500000</ele>
-<time>2005-06-12T14:58:20Z</time>
+<time>2005-06-12T14:58:20.807Z</time>
<course>131.520004</course>
<speed>24.652178</speed>
<name>WP0185</name>
</trkpt>
<trkpt lat="45.490809984" lon="-75.728584974">
<ele>97.700000</ele>
-<time>2005-06-12T14:58:21Z</time>
+<time>2005-06-12T14:58:21.807Z</time>
<course>135.419998</course>
<speed>23.268322</speed>
<name>WP0186</name>
</trkpt>
<trkpt lat="45.489388318" lon="-75.725018307">
<ele>98.100000</ele>
-<time>2005-06-12T14:58:24Z</time>
+<time>2005-06-12T14:58:24.807Z</time>
<course>144.899994</course>
<speed>21.025345</speed>
<name>WP0187</name>
</trkpt>
<trkpt lat="45.488314984" lon="-75.722894974">
<ele>98.200000</ele>
-<time>2005-06-12T14:58:28Z</time>
+<time>2005-06-12T14:58:28.807Z</time>
<course>147.210007</course>
<speed>20.654945</speed>
<name>WP0188</name>
</trkpt>
<trkpt lat="45.487204984" lon="-75.721489974">
<ele>98.200000</ele>
-<time>2005-06-12T14:58:34Z</time>
+<time>2005-06-12T14:58:34.807Z</time>
<course>147.210007</course>
<speed>20.654945</speed>
<name>WP0189</name>
</trkpt>
<trkpt lat="45.487416651" lon="-75.720791640">
<ele>97.900000</ele>
-<time>2005-06-12T14:58:42Z</time>
+<time>2005-06-12T14:58:42.806Z</time>
<course>160.369995</course>
<speed>15.068078</speed>
<name>WP0190</name>
</trkpt>
<trkpt lat="45.488398318" lon="-75.721109974">
<ele>97.800000</ele>
-<time>2005-06-12T14:58:43Z</time>
+<time>2005-06-12T14:58:43.806Z</time>
<course>182.169998</course>
<speed>9.877334</speed>
<name>WP0191</name>
</trkpt>
<trkpt lat="45.490408318" lon="-75.722254974">
<ele>101.300000</ele>
-<time>2005-06-12T14:58:46Z</time>
+<time>2005-06-12T14:58:46.806Z</time>
<course>174.380005</course>
<speed>7.963600</speed>
<name>WP0192</name>
</trkpt>
<trkpt lat="45.491743318" lon="-75.723359974">
<ele>105.300000</ele>
-<time>2005-06-12T14:58:52Z</time>
+<time>2005-06-12T14:58:52.805Z</time>
<course>179.320007</course>
<speed>8.323711</speed>
<name>WP0193</name>
</trkpt>
<trkpt lat="45.491659984" lon="-75.723431640">
<ele>105.600000</ele>
-<time>2005-06-12T14:58:54Z</time>
+<time>2005-06-12T14:58:54.805Z</time>
<course>183.029999</course>
<speed>8.267122</speed>
<name>WP0194</name>
</trkpt>
<trkpt lat="45.491213318" lon="-75.723554974">
<ele>105.700000</ele>
-<time>2005-06-12T14:59:01Z</time>
+<time>2005-06-12T14:59:01.805Z</time>
<course>183.029999</course>
<speed>8.267122</speed>
<name>WP0195</name>
</trkpt>
<trkpt lat="45.490278318" lon="-75.723608307">
<ele>104.700000</ele>
-<time>2005-06-12T14:59:15Z</time>
+<time>2005-06-12T14:59:15.804Z</time>
<course>126.190002</course>
<speed>4.876933</speed>
<name>WP0196</name>
</trkpt>
<trkpt lat="45.490369984" lon="-75.723388307">
<ele>103.600000</ele>
-<time>2005-06-12T14:59:17Z</time>
+<time>2005-06-12T14:59:17.804Z</time>
<course>83.410004</course>
<speed>14.347856</speed>
<name>WP0197</name>
</trkpt>
<trkpt lat="45.490526651" lon="-75.721809974">
<ele>101.300000</ele>
-<time>2005-06-12T14:59:24Z</time>
+<time>2005-06-12T14:59:24.803Z</time>
<course>84.290001</course>
<speed>13.828267</speed>
<name>WP0198</name>
</trkpt>
<trkpt lat="45.490071651" lon="-75.720394974">
<ele>99.900000</ele>
-<time>2005-06-12T14:59:29Z</time>
+<time>2005-06-12T14:59:29.803Z</time>
<course>109.540001</course>
<speed>15.947778</speed>
<name>WP0199</name>
</trkpt>
<trkpt lat="45.488781651" lon="-75.717853307">
<ele>98.100000</ele>
-<time>2005-06-12T14:59:40Z</time>
+<time>2005-06-12T14:59:40.802Z</time>
<course>115.199997</course>
<speed>14.759411</speed>
<name>WP0200</name>
</trkpt>
<trkpt lat="45.488024984" lon="-75.715301640">
<ele>97.900000</ele>
-<time>2005-06-12T14:59:54Z</time>
+<time>2005-06-12T14:59:54.801Z</time>
<course>105.970001</course>
<speed>16.909788</speed>
<name>WP0201</name>
</trkpt>
<trkpt lat="45.487381651" lon="-75.712531640">
<ele>97.700000</ele>
-<time>2005-06-12T15:00:08Z</time>
+<time>2005-06-12T15:00:08.800Z</time>
<course>105.970001</course>
<speed>16.909788</speed>
<name>WP0202</name>
</trkpt>
<trkpt lat="45.487396651" lon="-75.711828307">
<ele>97.700000</ele>
-<time>2005-06-12T15:00:12Z</time>
+<time>2005-06-12T15:00:12.800Z</time>
<course>87.070000</course>
<speed>14.203811</speed>
<name>WP0203</name>
</trkpt>
<trkpt lat="45.487534984" lon="-75.711744974">
<ele>97.700000</ele>
-<time>2005-06-12T15:00:13Z</time>
+<time>2005-06-12T15:00:13.800Z</time>
<course>85.029999</course>
<speed>14.121500</speed>
<name>WP0204</name>
</trkpt>
<trkpt lat="45.487728318" lon="-75.711471640">
<ele>97.500000</ele>
-<time>2005-06-12T15:00:15Z</time>
+<time>2005-06-12T15:00:15.800Z</time>
<course>84.540001</course>
<speed>18.633179</speed>
<name>WP0205</name>
</trkpt>
<trkpt lat="45.487859984" lon="-75.710994974">
<ele>97.300000</ele>
-<time>2005-06-12T15:00:17Z</time>
+<time>2005-06-12T15:00:17.800Z</time>
<course>84.480003</course>
<speed>19.055021</speed>
<name>WP0206</name>
</trkpt>
<trkpt lat="45.488128318" lon="-75.708784974">
<ele>97.100000</ele>
-<time>2005-06-12T15:00:26Z</time>
+<time>2005-06-12T15:00:26.799Z</time>
<course>84.480003</course>
<speed>19.055021</speed>
<name>WP0207</name>
</trkpt>
<trkpt lat="45.488351651" lon="-75.705628307">
<ele>97.000000</ele>
-<time>2005-06-12T15:00:39Z</time>
+<time>2005-06-12T15:00:39.798Z</time>
<course>84.480003</course>
<speed>19.055021</speed>
<name>WP0208</name>
</trkpt>
<trkpt lat="45.488748318" lon="-75.704488307">
<ele>97.100000</ele>
-<time>2005-06-12T15:00:43Z</time>
+<time>2005-06-12T15:00:43.798Z</time>
<course>86.349998</course>
<speed>7.526322</speed>
<name>WP0209</name>
</trkpt>
<trkpt lat="45.489294984" lon="-75.703023307">
<ele>97.200000</ele>
-<time>2005-06-12T15:00:52Z</time>
+<time>2005-06-12T15:00:52.798Z</time>
<course>103.959999</course>
<speed>0.164622</speed>
<name>WP0210</name>
</trkpt>
<trkpt lat="45.489278318" lon="-75.703171640">
<ele>97.100000</ele>
-<time>2005-06-12T15:00:56Z</time>
+<time>2005-06-12T15:00:56.797Z</time>
<course>198.320007</course>
<speed>0.174911</speed>
<name>WP0211</name>
</trkpt>
<trkpt lat="45.489263318" lon="-75.703306640">
<ele>96.900000</ele>
-<time>2005-06-12T15:01:14Z</time>
+<time>2005-06-12T15:01:14.796Z</time>
<course>2.360000</course>
<speed>0.920856</speed>
<name>WP0212</name>
</trkpt>
<trkpt lat="45.489364984" lon="-75.702803307">
<ele>96.900000</ele>
-<time>2005-06-12T15:01:37Z</time>
+<time>2005-06-12T15:01:37.795Z</time>
<course>81.510002</course>
<speed>14.769700</speed>
<name>WP0213</name>
</trkpt>
<trkpt lat="45.489553318" lon="-75.700098307">
<ele>97.300000</ele>
-<time>2005-06-12T15:01:45Z</time>
+<time>2005-06-12T15:01:45.794Z</time>
<course>94.290001</course>
<speed>4.218444</speed>
<name>WP0214</name>
</trkpt>
<trkpt lat="45.489698318" lon="-75.698621640">
<ele>97.200000</ele>
-<time>2005-06-12T15:01:59Z</time>
+<time>2005-06-12T15:01:59.793Z</time>
<course>90.029999</course>
<speed>1.450733</speed>
<name>WP0215</name>
</trkpt>
<trkpt lat="45.489766651" lon="-75.698538307">
<ele>97.200000</ele>
-<time>2005-06-12T15:02:04Z</time>
+<time>2005-06-12T15:02:04.793Z</time>
<course>91.970001</course>
<speed>1.430156</speed>
<name>WP0216</name>
</trkpt>
<trkpt lat="45.489761651" lon="-75.698398307">
<ele>97.100000</ele>
-<time>2005-06-12T15:02:12Z</time>
+<time>2005-06-12T15:02:12.792Z</time>
<course>93.570000</course>
<speed>15.705989</speed>
<name>WP0217</name>
</trkpt>
<trkpt lat="45.489583318" lon="-75.695093307">
<ele>97.400000</ele>
-<time>2005-06-12T15:02:28Z</time>
+<time>2005-06-12T15:02:28.791Z</time>
<course>93.570000</course>
<speed>15.705989</speed>
<name>WP0218</name>
</trkpt>
<trkpt lat="45.489726651" lon="-75.693488307">
<ele>97.500000</ele>
-<time>2005-06-12T15:02:36Z</time>
+<time>2005-06-12T15:02:36.791Z</time>
<course>76.129997</course>
<speed>14.399300</speed>
<name>WP0219</name>
</trkpt>
<trkpt lat="45.489909984" lon="-75.693386640">
<ele>97.500000</ele>
-<time>2005-06-12T15:02:37Z</time>
+<time>2005-06-12T15:02:37.791Z</time>
<course>75.209999</course>
<speed>14.574211</speed>
<name>WP0220</name>
</trkpt>
<trkpt lat="45.490408318" lon="-75.692841640">
<ele>97.500000</ele>
-<time>2005-06-12T15:02:41Z</time>
+<time>2005-06-12T15:02:41.791Z</time>
<course>75.209999</course>
<speed>14.574211</speed>
<name>WP0221</name>
</trkpt>
<trkpt lat="45.490608318" lon="-75.692348307">
<ele>97.400000</ele>
-<time>2005-06-12T15:02:44Z</time>
+<time>2005-06-12T15:02:44.790Z</time>
<course>75.209999</course>
<speed>14.574211</speed>
<name>WP0222</name>
</trkpt>
<trkpt lat="45.491079984" lon="-75.690218307">
<ele>97.400000</ele>
-<time>2005-06-12T15:02:56Z</time>
+<time>2005-06-12T15:02:56.790Z</time>
<course>90.370003</course>
<speed>13.159489</speed>
<name>WP0223</name>
</trkpt>
<trkpt lat="45.491288318" lon="-75.688778307">
<ele>97.300000</ele>
-<time>2005-06-12T15:03:04Z</time>
+<time>2005-06-12T15:03:04.789Z</time>
<course>111.029999</course>
<speed>13.776822</speed>
<name>WP0224</name>
</trkpt>
<trkpt lat="45.491183318" lon="-75.688611640">
<ele>97.300000</ele>
-<time>2005-06-12T15:03:05Z</time>
+<time>2005-06-12T15:03:05.789Z</time>
<course>126.019997</course>
<speed>15.505356</speed>
<name>WP0225</name>
</trkpt>
<trkpt lat="45.490993318" lon="-75.688663307">
<ele>99.000000</ele>
-<time>2005-06-12T15:03:06Z</time>
+<time>2005-06-12T15:03:06.789Z</time>
<course>171.699997</course>
<speed>10.607844</speed>
<name>WP0226</name>
</trkpt>
<trkpt lat="45.489688318" lon="-75.688748307">
<ele>99.300000</ele>
-<time>2005-06-12T15:03:16Z</time>
+<time>2005-06-12T15:03:16.788Z</time>
<course>154.520004</course>
<speed>6.543733</speed>
<name>WP0227</name>
</trkpt>
<trkpt lat="45.489516651" lon="-75.688719974">
<ele>99.200000</ele>
-<time>2005-06-12T15:03:20Z</time>
+<time>2005-06-12T15:03:20.788Z</time>
<course>159.869995</course>
<speed>0.133756</speed>
<name>WP0228</name>
</trkpt>
<trkpt lat="45.489606651" lon="-75.688778307">
<ele>99.000000</ele>
-<time>2005-06-12T15:03:26Z</time>
+<time>2005-06-12T15:03:26.788Z</time>
<course>169.960007</course>
<speed>0.154333</speed>
<name>WP0229</name>
</trkpt>
<trkpt lat="45.489716651" lon="-75.688851640">
<ele>98.600000</ele>
-<time>2005-06-12T15:03:53Z</time>
+<time>2005-06-12T15:03:53.786Z</time>
<course>167.100006</course>
<speed>1.152356</speed>
<name>WP0230</name>
</trkpt>
<trkpt lat="45.489636651" lon="-75.688773307">
<ele>98.300000</ele>
-<time>2005-06-12T15:04:12Z</time>
+<time>2005-06-12T15:04:12.785Z</time>
<course>318.260010</course>
<speed>0.864267</speed>
<name>WP0231</name>
</trkpt>
<trkpt lat="45.489688318" lon="-75.688884974">
<ele>98.000000</ele>
-<time>2005-06-12T15:04:34Z</time>
+<time>2005-06-12T15:04:34.783Z</time>
<course>76.680000</course>
<speed>1.646222</speed>
<name>WP0232</name>
</trkpt>
<trkpt lat="45.489699984" lon="-75.688648307">
<ele>98.200000</ele>
-<time>2005-06-12T15:04:37Z</time>
+<time>2005-06-12T15:04:37.783Z</time>
<course>47.889999</course>
<speed>3.251289</speed>
<name>WP0233</name>
</trkpt>
<trkpt lat="45.489858318" lon="-75.688149974">
<ele>98.400000</ele>
-<time>2005-06-12T15:04:43Z</time>
+<time>2005-06-12T15:04:43.783Z</time>
<course>47.889999</course>
<speed>3.251289</speed>
<name>WP0234</name>
</trkpt>
<trkpt lat="45.489979984" lon="-75.687781640">
<ele>98.400000</ele>
-<time>2005-06-12T15:04:51Z</time>
+<time>2005-06-12T15:04:51.782Z</time>
<course>240.000000</course>
<speed>0.123467</speed>
<name>WP0235</name>
</trkpt>
<trkpt lat="45.489979984" lon="-75.687646640">
<ele>98.100000</ele>
-<time>2005-06-12T15:05:11Z</time>
+<time>2005-06-12T15:05:11.781Z</time>
<course>159.000000</course>
<speed>0.128611</speed>
<name>WP0236</name>
</trkpt>
<trkpt lat="45.490004984" lon="-75.684934974">
<ele>97.400000</ele>
-<time>2005-06-12T15:05:30Z</time>
+<time>2005-06-12T15:05:30.780Z</time>
<course>247.240005</course>
<speed>0.334389</speed>
<name>WP0237</name>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="42.401051000" minlon ="-71.126602000" maxlat="42.468655000" maxlon="-71.102973000" />
+<bounds minlat="42.401051000" minlon="-71.126602000" maxlat="42.468655000" maxlon="-71.102973000"/>
<rte>
<rtept lat="42.438878000" lon="-71.119277000">
<ele>44.586548</ele>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="42.430950000" minlon ="-71.122845000" maxlat="42.467110000" maxlon="-71.105116000" />
+<bounds minlat="42.430950000" minlon="-71.122845000" maxlat="42.467110000" maxlon="-71.105116000"/>
<wpt lat="42.430950000" lon="-71.107628000">
<ele>23.469600</ele>
<time>2001-06-02T00:18:15Z</time>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="35.972030000" minlon ="-87.134700000" maxlat="36.112180000" maxlon="-86.620120000" />
+<bounds minlat="35.972030000" minlon="-87.134700000" maxlat="36.112180000" maxlon="-86.620120000"/>
<wpt lat="35.972030000" lon="-87.134700000">
<name>GCEBB</name>
<cmt>Mountain Bike Heaven by susy1313</cmt>
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
<time>1970-01-01T00:00:00Z</time>
-<bounds minlat="45.458204984" minlon ="-75.770526640" maxlat="45.497519984" maxlon="-75.684934974" />
+<bounds minlat="45.458204984" minlon="-75.770526640" maxlat="45.497519984" maxlon="-75.684934974"/>
<wpt lat="45.460366651" lon="-75.767939974">
<ele>33.700000</ele>
-<time>2005-05-09T19:02:01Z</time>
+<time>2005-05-09T19:02:01.517Z</time>
<name>WP0001</name>
<cmt>WP0001</cmt>
<desc>WP0001</desc>
</wpt>
<wpt lat="45.460339984" lon="-75.767591640">
<ele>33.700000</ele>
-<time>2005-05-09T19:02:03Z</time>
+<time>2005-05-09T19:02:03.517Z</time>
<name>WP0002</name>
<cmt>WP0002</cmt>
<desc>WP0002</desc>
</wpt>
<wpt lat="45.458376651" lon="-75.768483307">
<ele>105.400000</ele>
-<time>2005-05-09T20:09:13Z</time>
+<time>2005-05-09T20:09:13.594Z</time>
<name>WP0003</name>
<cmt>WP0003</cmt>
<desc>WP0003</desc>
</wpt>
<wpt lat="45.458293318" lon="-75.768566640">
<ele>104.600000</ele>
-<time>2005-05-09T20:09:23Z</time>
+<time>2005-05-09T20:09:23.593Z</time>
<name>WP0004</name>
<cmt>WP0004</cmt>
<desc>WP0004</desc>
</wpt>
<wpt lat="45.458298318" lon="-75.768701640">
<ele>102.500000</ele>
-<time>2005-05-09T20:09:44Z</time>
+<time>2005-05-09T20:09:44.592Z</time>
<name>WP0005</name>
<cmt>WP0005</cmt>
<desc>WP0005</desc>
</wpt>
<wpt lat="45.458266651" lon="-75.769021640">
<ele>108.900000</ele>
-<time>2005-05-09T20:10:04Z</time>
+<time>2005-05-09T20:10:04.590Z</time>
<name>WP0006</name>
<cmt>WP0006</cmt>
<desc>WP0006</desc>
</wpt>
<wpt lat="45.458204984" lon="-75.770038307">
<ele>108.400000</ele>
-<time>2005-05-09T20:11:22Z</time>
+<time>2005-05-09T20:11:22.585Z</time>
<name>WP0007</name>
<cmt>WP0007</cmt>
<desc>WP0007</desc>
</wpt>
<wpt lat="45.458274984" lon="-75.770526640">
<ele>110.600000</ele>
-<time>2005-05-09T20:11:50Z</time>
+<time>2005-05-09T20:11:50.583Z</time>
<name>WP0008</name>
<cmt>WP0008</cmt>
<desc>WP0008</desc>
</wpt>
<wpt lat="45.458353318" lon="-75.770481640">
<ele>106.200000</ele>
-<time>2005-05-09T20:14:00Z</time>
+<time>2005-05-09T20:14:00.575Z</time>
<name>WP0009</name>
<cmt>WP0009</cmt>
<desc>WP0009</desc>
</wpt>
<wpt lat="45.492471651" lon="-75.717699974">
<ele>34.100000</ele>
-<time>2005-05-09T21:36:00Z</time>
+<time>2005-05-09T21:36:00.758Z</time>
<name>WP0010</name>
<cmt>WP0010</cmt>
<desc>WP0010</desc>
</wpt>
<wpt lat="45.492506651" lon="-75.717636640">
<ele>-22.300000</ele>
-<time>2005-06-03T21:36:06Z</time>
+<time>2005-06-03T21:36:06.757Z</time>
<name>WP0011</name>
<cmt>WP0011</cmt>
<desc>WP0011</desc>
</wpt>
<wpt lat="45.492283318" lon="-75.717694974">
<ele>-34.800000</ele>
-<time>2005-06-03T21:36:08Z</time>
+<time>2005-06-03T21:36:08.757Z</time>
<name>WP0012</name>
<cmt>WP0012</cmt>
<desc>WP0012</desc>
</wpt>
<wpt lat="45.492396651" lon="-75.717684974">
<ele>-28.700000</ele>
-<time>2005-06-03T21:36:09Z</time>
+<time>2005-06-03T21:36:09.757Z</time>
<name>WP0013</name>
<cmt>WP0013</cmt>
<desc>WP0013</desc>
</wpt>
<wpt lat="45.492381651" lon="-75.717586640">
<ele>-21.000000</ele>
-<time>2005-06-03T21:36:17Z</time>
+<time>2005-06-03T21:36:17.757Z</time>
<name>WP0014</name>
<cmt>WP0014</cmt>
<desc>WP0014</desc>
</wpt>
<wpt lat="45.492294984" lon="-75.717593307">
<ele>-25.300000</ele>
-<time>2005-06-03T21:36:31Z</time>
+<time>2005-06-03T21:36:31.756Z</time>
<name>WP0015</name>
<cmt>WP0015</cmt>
<desc>WP0015</desc>
</wpt>
<wpt lat="45.491944984" lon="-75.717474974">
<ele>43.400000</ele>
-<time>2005-06-03T21:36:45Z</time>
+<time>2005-06-03T21:36:45.755Z</time>
<name>WP0016</name>
<cmt>WP0016</cmt>
<desc>WP0016</desc>
</wpt>
<wpt lat="45.491938318" lon="-75.717353307">
<ele>39.300000</ele>
-<time>2005-06-03T21:36:51Z</time>
+<time>2005-06-03T21:36:51.754Z</time>
<name>WP0017</name>
<cmt>WP0017</cmt>
<desc>WP0017</desc>
</wpt>
<wpt lat="45.491969984" lon="-75.717238307">
<ele>48.300000</ele>
-<time>2005-06-03T21:36:58Z</time>
+<time>2005-06-03T21:36:58.754Z</time>
<name>WP0018</name>
<cmt>WP0018</cmt>
<desc>WP0018</desc>
</wpt>
<wpt lat="45.491994984" lon="-75.717094974">
<ele>44.500000</ele>
-<time>2005-06-03T21:37:07Z</time>
+<time>2005-06-03T21:37:07.753Z</time>
<name>WP0019</name>
<cmt>WP0019</cmt>
<desc>WP0019</desc>
</wpt>
<wpt lat="45.491996651" lon="-75.716914974">
<ele>39.900000</ele>
-<time>2005-06-03T21:37:18Z</time>
+<time>2005-06-03T21:37:18.753Z</time>
<name>WP0020</name>
<cmt>WP0020</cmt>
<desc>WP0020</desc>
</wpt>
<wpt lat="45.492019984" lon="-75.716781640">
<ele>23.600000</ele>
-<time>2005-06-03T21:37:26Z</time>
+<time>2005-06-03T21:37:26.752Z</time>
<name>WP0021</name>
<cmt>WP0021</cmt>
<desc>WP0021</desc>
</wpt>
<wpt lat="45.492071651" lon="-75.716738307">
<ele>46.700000</ele>
-<time>2005-06-03T21:37:46Z</time>
+<time>2005-06-03T21:37:46.751Z</time>
<name>WP0022</name>
<cmt>WP0022</cmt>
<desc>WP0022</desc>
</wpt>
<wpt lat="45.492071651" lon="-75.716736640">
<ele>61.300000</ele>
-<time>2005-06-03T21:37:52Z</time>
+<time>2005-06-03T21:37:52.750Z</time>
<name>WP0023</name>
<cmt>WP0023</cmt>
<desc>WP0023</desc>
</wpt>
<wpt lat="45.492096651" lon="-75.716736640">
<ele>74.600000</ele>
-<time>2005-06-03T21:38:16Z</time>
+<time>2005-06-03T21:38:16.749Z</time>
<name>WP0024</name>
<cmt>WP0024</cmt>
<desc>WP0024</desc>
</wpt>
<wpt lat="45.492099984" lon="-75.716729974">
<ele>63.600000</ele>
-<time>2005-06-03T21:38:50Z</time>
+<time>2005-06-03T21:38:50.747Z</time>
<name>WP0025</name>
<cmt>WP0025</cmt>
<desc>WP0025</desc>
</wpt>
<wpt lat="45.492721651" lon="-75.718441640">
<ele>83.600000</ele>
-<time>2005-06-03T21:55:06Z</time>
+<time>2005-06-03T21:55:06.472Z</time>
<name>WP0026</name>
<cmt>WP0026</cmt>
<desc>WP0026</desc>
</wpt>
<wpt lat="45.492656651" lon="-75.718409974">
<ele>76.200000</ele>
-<time>2005-06-03T21:55:14Z</time>
+<time>2005-06-03T21:55:14.472Z</time>
<name>WP0027</name>
<cmt>WP0027</cmt>
<desc>WP0027</desc>
</wpt>
<wpt lat="45.492591651" lon="-75.718313307">
<ele>76.300000</ele>
-<time>2005-06-03T21:57:31Z</time>
+<time>2005-06-03T21:57:31.463Z</time>
<name>WP0028</name>
<cmt>WP0028</cmt>
<desc>WP0028</desc>
</wpt>
<wpt lat="45.492568318" lon="-75.718309974">
<ele>59.800000</ele>
-<time>2005-06-03T21:57:54Z</time>
+<time>2005-06-03T21:57:54.461Z</time>
<name>WP0029</name>
<cmt>WP0029</cmt>
<desc>WP0029</desc>
</wpt>
<wpt lat="45.492314984" lon="-75.718339974">
<ele>34.300000</ele>
-<time>2005-06-04T23:06:26Z</time>
+<time>2005-06-04T23:06:26.359Z</time>
<name>WP0030</name>
<cmt>WP0030</cmt>
<desc>WP0030</desc>
</wpt>
<wpt lat="45.491909984" lon="-75.718324974">
<ele>34.300000</ele>
-<time>2005-06-04T23:14:32Z</time>
+<time>2005-06-04T23:14:32.327Z</time>
<name>WP0031</name>
<cmt>WP0031</cmt>
<desc>WP0031</desc>
</wpt>
<wpt lat="45.492206651" lon="-75.718414974">
<ele>34.300000</ele>
-<time>2005-06-04T23:14:43Z</time>
+<time>2005-06-04T23:14:43.327Z</time>
<name>WP0032</name>
<cmt>WP0032</cmt>
<desc>WP0032</desc>
</wpt>
<wpt lat="45.492689984" lon="-75.718359974">
<ele>70.800000</ele>
-<time>2005-06-04T23:15:39Z</time>
+<time>2005-06-04T23:15:39.323Z</time>
<name>WP0033</name>
<cmt>WP0033</cmt>
<desc>WP0033</desc>
</wpt>
<wpt lat="45.492691651" lon="-75.718408307">
<ele>61.200000</ele>
-<time>2005-06-04T23:16:38Z</time>
+<time>2005-06-04T23:16:38.319Z</time>
<name>WP0034</name>
<cmt>WP0034</cmt>
<desc>WP0034</desc>
</wpt>
<wpt lat="45.492601651" lon="-75.718438307">
<ele>62.400000</ele>
-<time>2005-06-04T23:17:21Z</time>
+<time>2005-06-04T23:17:21.316Z</time>
<name>WP0035</name>
<cmt>WP0035</cmt>
<desc>WP0035</desc>
</wpt>
<wpt lat="45.492479984" lon="-75.718403307">
<ele>54.200000</ele>
-<time>2005-06-04T23:22:58Z</time>
+<time>2005-06-04T23:22:58.294Z</time>
<name>WP0036</name>
<cmt>WP0036</cmt>
<desc>WP0036</desc>
</wpt>
<wpt lat="45.492566651" lon="-75.718339974">
<ele>57.000000</ele>
-<time>2005-06-04T23:25:52Z</time>
+<time>2005-06-04T23:25:52.283Z</time>
<name>WP0037</name>
<cmt>WP0037</cmt>
<desc>WP0037</desc>
</wpt>
<wpt lat="45.492343318" lon="-75.722331640">
<ele>0.000000</ele>
-<time>2005-06-04T23:39:14Z</time>
+<time>2005-06-04T23:39:14.663Z</time>
<name>WP0038</name>
<cmt>WP0038</cmt>
<desc>WP0038</desc>
</wpt>
<wpt lat="45.492314984" lon="-75.722923307">
<ele>57.600000</ele>
-<time>2005-06-04T23:39:18Z</time>
+<time>2005-06-04T23:39:18.662Z</time>
<name>WP0039</name>
<cmt>WP0039</cmt>
<desc>WP0039</desc>
</wpt>
<wpt lat="45.492369984" lon="-75.722586640">
<ele>74.800000</ele>
-<time>2005-06-04T23:39:19Z</time>
+<time>2005-06-04T23:39:19.662Z</time>
<name>WP0040</name>
<cmt>WP0040</cmt>
<desc>WP0040</desc>
</wpt>
<wpt lat="45.493596651" lon="-75.728018307">
<ele>95.100000</ele>
-<time>2005-06-04T23:44:29Z</time>
+<time>2005-06-04T23:44:29.868Z</time>
<name>WP0041</name>
<cmt>WP0041</cmt>
<desc>WP0041</desc>
</wpt>
<wpt lat="45.492388318" lon="-75.731491640">
<ele>69.100000</ele>
-<time>2005-06-04T23:50:38Z</time>
+<time>2005-06-04T23:50:38.425Z</time>
<name>WP0042</name>
<cmt>WP0042</cmt>
<desc>WP0042</desc>
</wpt>
<wpt lat="45.492379984" lon="-75.731639974">
<ele>71.300000</ele>
-<time>2005-06-04T23:52:35Z</time>
+<time>2005-06-04T23:52:35.417Z</time>
<name>WP0043</name>
<cmt>WP0043</cmt>
<desc>WP0043</desc>
</wpt>
<wpt lat="45.492419984" lon="-75.731754974">
<ele>71.300000</ele>
-<time>2005-06-04T23:52:43Z</time>
+<time>2005-06-04T23:52:43.417Z</time>
<name>WP0044</name>
<cmt>WP0044</cmt>
<desc>WP0044</desc>
</wpt>
<wpt lat="45.492678318" lon="-75.732136640">
<ele>71.300000</ele>
-<time>2005-06-04T23:53:15Z</time>
+<time>2005-06-04T23:53:15.415Z</time>
<name>WP0045</name>
<cmt>WP0045</cmt>
<desc>WP0045</desc>
</wpt>
<wpt lat="45.492764984" lon="-75.732181640">
<ele>70.700000</ele>
-<time>2005-06-04T23:53:25Z</time>
+<time>2005-06-04T23:53:25.414Z</time>
<name>WP0046</name>
<cmt>WP0046</cmt>
<desc>WP0046</desc>
</wpt>
<wpt lat="45.493056651" lon="-75.734448307">
<ele>68.400000</ele>
-<time>2005-06-04T23:56:24Z</time>
+<time>2005-06-04T23:56:24.496Z</time>
<name>WP0047</name>
<cmt>WP0047</cmt>
<desc>WP0047</desc>
</wpt>
<wpt lat="45.492984984" lon="-75.734376640">
<ele>72.900000</ele>
-<time>2005-06-04T23:56:54Z</time>
+<time>2005-06-04T23:56:54.494Z</time>
<name>WP0048</name>
<cmt>WP0048</cmt>
<desc>WP0048</desc>
</wpt>
<wpt lat="45.493048318" lon="-75.734484974">
<ele>71.400000</ele>
-<time>2005-06-04T23:57:12Z</time>
+<time>2005-06-04T23:57:12.493Z</time>
<name>WP0049</name>
<cmt>WP0049</cmt>
<desc>WP0049</desc>
</wpt>
<wpt lat="45.493248318" lon="-75.734873307">
<ele>71.200000</ele>
-<time>2005-06-04T23:57:43Z</time>
+<time>2005-06-04T23:57:43.491Z</time>
<name>WP0050</name>
<cmt>WP0050</cmt>
<desc>WP0050</desc>
</wpt>
<wpt lat="45.493511651" lon="-75.735343307">
<ele>71.600000</ele>
-<time>2005-06-04T23:58:26Z</time>
+<time>2005-06-04T23:58:26.488Z</time>
<name>WP0051</name>
<cmt>WP0051</cmt>
<desc>WP0051</desc>
</wpt>
<wpt lat="45.494089984" lon="-75.736121640">
<ele>71.000000</ele>
-<time>2005-06-04T00:00:00Z</time>
+<time>2005-06-04T00:00:00.482Z</time>
<name>WP0052</name>
<cmt>WP0052</cmt>
<desc>WP0052</desc>
</wpt>
<wpt lat="45.494091651" lon="-75.736254974">
<ele>72.100000</ele>
-<time>2005-06-05T00:00:11Z</time>
+<time>2005-06-05T00:00:11.482Z</time>
<name>WP0053</name>
<cmt>WP0053</cmt>
<desc>WP0053</desc>
</wpt>
<wpt lat="45.494156651" lon="-75.736351640">
<ele>72.700000</ele>
-<time>2005-06-05T00:00:20Z</time>
+<time>2005-06-05T00:00:20.481Z</time>
<name>WP0054</name>
<cmt>WP0054</cmt>
<desc>WP0054</desc>
</wpt>
<wpt lat="45.494316651" lon="-75.736706640">
<ele>72.200000</ele>
-<time>2005-06-05T00:00:48Z</time>
+<time>2005-06-05T00:00:48.479Z</time>
<name>WP0055</name>
<cmt>WP0055</cmt>
<desc>WP0055</desc>
</wpt>
<wpt lat="45.494326651" lon="-75.736839974">
<ele>72.500000</ele>
-<time>2005-06-05T00:00:59Z</time>
+<time>2005-06-05T00:00:59.478Z</time>
<name>WP0056</name>
<cmt>WP0056</cmt>
<desc>WP0056</desc>
</wpt>
<wpt lat="45.494348318" lon="-75.737104974">
<ele>73.000000</ele>
-<time>2005-06-05T00:01:09Z</time>
+<time>2005-06-05T00:01:09.478Z</time>
<name>WP0057</name>
<cmt>WP0057</cmt>
<desc>WP0057</desc>
</wpt>
<wpt lat="45.494411651" lon="-75.737268307">
<ele>73.300000</ele>
-<time>2005-06-05T00:01:44Z</time>
+<time>2005-06-05T00:01:44.475Z</time>
<name>WP0058</name>
<cmt>WP0058</cmt>
<desc>WP0058</desc>
</wpt>
<wpt lat="45.494488318" lon="-75.737228307">
<ele>78.100000</ele>
-<time>2005-06-05T00:01:58Z</time>
+<time>2005-06-05T00:01:58.474Z</time>
<name>WP0059</name>
<cmt>WP0059</cmt>
<desc>WP0059</desc>
</wpt>
<wpt lat="45.494713318" lon="-75.737163307">
<ele>77.000000</ele>
-<time>2005-06-05T00:02:16Z</time>
+<time>2005-06-05T00:02:16.473Z</time>
<name>WP0060</name>
<cmt>WP0060</cmt>
<desc>WP0060</desc>
</wpt>
<wpt lat="45.494818318" lon="-75.737188307">
<ele>75.500000</ele>
-<time>2005-06-05T00:02:25Z</time>
+<time>2005-06-05T00:02:25.473Z</time>
<name>WP0061</name>
<cmt>WP0061</cmt>
<desc>WP0061</desc>
</wpt>
<wpt lat="45.495011651" lon="-75.737183307">
<ele>71.000000</ele>
-<time>2005-06-05T00:02:42Z</time>
+<time>2005-06-05T00:02:42.472Z</time>
<name>WP0062</name>
<cmt>WP0062</cmt>
<desc>WP0062</desc>
</wpt>
<wpt lat="45.495254984" lon="-75.737171640">
<ele>75.800000</ele>
-<time>2005-06-05T00:03:21Z</time>
+<time>2005-06-05T00:03:21.469Z</time>
<name>WP0063</name>
<cmt>WP0063</cmt>
<desc>WP0063</desc>
</wpt>
<wpt lat="45.495354984" lon="-75.737114974">
<ele>72.600000</ele>
-<time>2005-06-05T00:03:31Z</time>
+<time>2005-06-05T00:03:31.468Z</time>
<name>WP0064</name>
<cmt>WP0064</cmt>
<desc>WP0064</desc>
</wpt>
<wpt lat="45.495581651" lon="-75.736874974">
<ele>70.300000</ele>
-<time>2005-06-05T00:03:53Z</time>
+<time>2005-06-05T00:03:53.467Z</time>
<name>WP0065</name>
<cmt>WP0065</cmt>
<desc>WP0065</desc>
</wpt>
<wpt lat="45.495921651" lon="-75.736509974">
<ele>74.600000</ele>
-<time>2005-06-05T00:04:31Z</time>
+<time>2005-06-05T00:04:31.464Z</time>
<name>WP0066</name>
<cmt>WP0066</cmt>
<desc>WP0066</desc>
</wpt>
<wpt lat="45.495844984" lon="-75.736588307">
<ele>76.300000</ele>
-<time>2005-06-05T00:05:05Z</time>
+<time>2005-06-05T00:05:05.462Z</time>
<name>WP0067</name>
<cmt>WP0067</cmt>
<desc>WP0067</desc>
</wpt>
<wpt lat="45.495876651" lon="-75.736471640">
<ele>72.100000</ele>
-<time>2005-06-05T00:05:45Z</time>
+<time>2005-06-05T00:05:45.459Z</time>
<name>WP0068</name>
<cmt>WP0068</cmt>
<desc>WP0068</desc>
</wpt>
<wpt lat="45.495916651" lon="-75.736536640">
<ele>80.900000</ele>
-<time>2005-06-05T00:06:19Z</time>
+<time>2005-06-05T00:06:19.457Z</time>
<name>WP0069</name>
<cmt>WP0069</cmt>
<desc>WP0069</desc>
</wpt>
<wpt lat="45.495866651" lon="-75.736521640">
<ele>89.500000</ele>
-<time>2005-06-05T00:06:25Z</time>
+<time>2005-06-05T00:06:25.457Z</time>
<name>WP0070</name>
<cmt>WP0070</cmt>
<desc>WP0070</desc>
</wpt>
<wpt lat="45.496203318" lon="-75.734848307">
<ele>102.100000</ele>
-<time>2005-06-05T00:37:53Z</time>
+<time>2005-06-05T00:37:53.913Z</time>
<name>WP0071</name>
<cmt>WP0071</cmt>
<desc>WP0071</desc>
</wpt>
<wpt lat="45.496083318" lon="-75.734841640">
<ele>102.800000</ele>
-<time>2005-06-11T00:38:21Z</time>
+<time>2005-06-11T00:38:21.912Z</time>
<name>WP0072</name>
<cmt>WP0072</cmt>
<desc>WP0072</desc>
</wpt>
<wpt lat="45.496109984" lon="-75.734754974">
<ele>94.100000</ele>
-<time>2005-06-11T00:38:55Z</time>
+<time>2005-06-11T00:38:55.909Z</time>
<name>WP0073</name>
<cmt>WP0073</cmt>
<desc>WP0073</desc>
</wpt>
<wpt lat="45.496299984" lon="-75.734379974">
<ele>93.300000</ele>
-<time>2005-06-11T00:39:44Z</time>
+<time>2005-06-11T00:39:44.906Z</time>
<name>WP0074</name>
<cmt>WP0074</cmt>
<desc>WP0074</desc>
</wpt>
<wpt lat="45.496259984" lon="-75.734368307">
<ele>83.800000</ele>
-<time>2005-06-11T00:40:44Z</time>
+<time>2005-06-11T00:40:44.902Z</time>
<name>WP0075</name>
<cmt>WP0075</cmt>
<desc>WP0075</desc>
</wpt>
<wpt lat="45.496204984" lon="-75.734474974">
<ele>85.100000</ele>
-<time>2005-06-11T00:41:04Z</time>
+<time>2005-06-11T00:41:04.901Z</time>
<name>WP0076</name>
<cmt>WP0076</cmt>
<desc>WP0076</desc>
</wpt>
<wpt lat="45.496191651" lon="-75.734614974">
<ele>85.600000</ele>
-<time>2005-06-11T00:41:11Z</time>
+<time>2005-06-11T00:41:11.900Z</time>
<name>WP0077</name>
<cmt>WP0077</cmt>
<desc>WP0077</desc>
</wpt>
<wpt lat="45.496134984" lon="-75.734768307">
<ele>85.900000</ele>
-<time>2005-06-11T00:41:19Z</time>
+<time>2005-06-11T00:41:19.900Z</time>
<name>WP0078</name>
<cmt>WP0078</cmt>
<desc>WP0078</desc>
</wpt>
<wpt lat="45.496108318" lon="-75.734911640">
<ele>85.200000</ele>
-<time>2005-06-11T00:41:27Z</time>
+<time>2005-06-11T00:41:27.899Z</time>
<name>WP0079</name>
<cmt>WP0079</cmt>
<desc>WP0079</desc>
</wpt>
<wpt lat="45.496044984" lon="-75.735079974">
<ele>87.100000</ele>
-<time>2005-06-11T00:41:43Z</time>
+<time>2005-06-11T00:41:43.898Z</time>
<name>WP0080</name>
<cmt>WP0080</cmt>
<desc>WP0080</desc>
</wpt>
<wpt lat="45.495993318" lon="-75.735166640">
<ele>82.300000</ele>
-<time>2005-06-11T00:41:51Z</time>
+<time>2005-06-11T00:41:51.898Z</time>
<name>WP0081</name>
<cmt>WP0081</cmt>
<desc>WP0081</desc>
</wpt>
<wpt lat="45.495931651" lon="-75.735276640">
<ele>78.800000</ele>
-<time>2005-06-11T00:42:00Z</time>
+<time>2005-06-11T00:42:00.897Z</time>
<name>WP0082</name>
<cmt>WP0082</cmt>
<desc>WP0082</desc>
</wpt>
<wpt lat="45.495874984" lon="-75.735439974">
<ele>75.500000</ele>
-<time>2005-06-11T00:42:14Z</time>
+<time>2005-06-11T00:42:14.896Z</time>
<name>WP0083</name>
<cmt>WP0083</cmt>
<desc>WP0083</desc>
</wpt>
<wpt lat="45.495826651" lon="-75.735561640">
<ele>74.100000</ele>
-<time>2005-06-11T00:42:25Z</time>
+<time>2005-06-11T00:42:25.895Z</time>
<name>WP0084</name>
<cmt>WP0084</cmt>
<desc>WP0084</desc>
</wpt>
<wpt lat="45.495858318" lon="-75.735689974">
<ele>72.500000</ele>
-<time>2005-06-11T00:42:50Z</time>
+<time>2005-06-11T00:42:50.894Z</time>
<name>WP0085</name>
<cmt>WP0085</cmt>
<desc>WP0085</desc>
</wpt>
<wpt lat="45.495931651" lon="-75.735779974">
<ele>74.000000</ele>
-<time>2005-06-11T00:43:01Z</time>
+<time>2005-06-11T00:43:01.893Z</time>
<name>WP0086</name>
<cmt>WP0086</cmt>
<desc>WP0086</desc>
</wpt>
<wpt lat="45.495899984" lon="-75.735658307">
<ele>74.700000</ele>
-<time>2005-06-11T00:43:09Z</time>
+<time>2005-06-11T00:43:09.893Z</time>
<name>WP0087</name>
<cmt>WP0087</cmt>
<desc>WP0087</desc>
</wpt>
<wpt lat="45.495808318" lon="-75.735613307">
<ele>72.300000</ele>
-<time>2005-06-11T00:43:38Z</time>
+<time>2005-06-11T00:43:38.891Z</time>
<name>WP0088</name>
<cmt>WP0088</cmt>
<desc>WP0088</desc>
</wpt>
<wpt lat="45.495711651" lon="-75.735599974">
<ele>72.200000</ele>
-<time>2005-06-11T00:44:05Z</time>
+<time>2005-06-11T00:44:05.889Z</time>
<name>WP0089</name>
<cmt>WP0089</cmt>
<desc>WP0089</desc>
</wpt>
<wpt lat="45.495679984" lon="-75.735724974">
<ele>73.000000</ele>
-<time>2005-06-11T00:44:11Z</time>
+<time>2005-06-11T00:44:11.888Z</time>
<name>WP0090</name>
<cmt>WP0090</cmt>
<desc>WP0090</desc>
</wpt>
<wpt lat="45.495651651" lon="-75.735859974">
<ele>74.400000</ele>
-<time>2005-06-11T00:44:23Z</time>
+<time>2005-06-11T00:44:23.888Z</time>
<name>WP0091</name>
<cmt>WP0091</cmt>
<desc>WP0091</desc>
</wpt>
<wpt lat="45.495756651" lon="-75.735824974">
<ele>81.200000</ele>
-<time>2005-06-11T00:44:43Z</time>
+<time>2005-06-11T00:44:43.886Z</time>
<name>WP0092</name>
<cmt>WP0092</cmt>
<desc>WP0092</desc>
</wpt>
<wpt lat="45.495728318" lon="-75.735801640">
<ele>70.100000</ele>
-<time>2005-06-11T00:44:47Z</time>
+<time>2005-06-11T00:44:47.886Z</time>
<name>WP0093</name>
<cmt>WP0093</cmt>
<desc>WP0093</desc>
</wpt>
<wpt lat="45.495708318" lon="-75.735911640">
<ele>64.400000</ele>
-<time>2005-06-11T00:45:02Z</time>
+<time>2005-06-11T00:45:02.885Z</time>
<name>WP0094</name>
<cmt>WP0094</cmt>
<desc>WP0094</desc>
</wpt>
<wpt lat="45.495683318" lon="-75.736064974">
<ele>64.000000</ele>
-<time>2005-06-11T00:45:35Z</time>
+<time>2005-06-11T00:45:35.883Z</time>
<name>WP0095</name>
<cmt>WP0095</cmt>
<desc>WP0095</desc>
</wpt>
<wpt lat="45.495584984" lon="-75.736138307">
<ele>64.600000</ele>
-<time>2005-06-11T00:46:07Z</time>
+<time>2005-06-11T00:46:07.881Z</time>
<name>WP0096</name>
<cmt>WP0096</cmt>
<desc>WP0096</desc>
</wpt>
<wpt lat="45.495651651" lon="-75.736043307">
<ele>67.300000</ele>
-<time>2005-06-11T00:46:36Z</time>
+<time>2005-06-11T00:46:36.879Z</time>
<name>WP0097</name>
<cmt>WP0097</cmt>
<desc>WP0097</desc>
</wpt>
<wpt lat="45.495691651" lon="-75.735939974">
<ele>71.400000</ele>
-<time>2005-06-11T00:48:44Z</time>
+<time>2005-06-11T00:48:44.870Z</time>
<name>WP0098</name>
<cmt>WP0098</cmt>
<desc>WP0098</desc>
</wpt>
<wpt lat="45.495706651" lon="-75.736066640">
<ele>71.700000</ele>
-<time>2005-06-11T00:49:14Z</time>
+<time>2005-06-11T00:49:14.868Z</time>
<name>WP0099</name>
<cmt>WP0099</cmt>
<desc>WP0099</desc>
</wpt>
<wpt lat="45.495733318" lon="-75.735924974">
<ele>72.300000</ele>
-<time>2005-06-11T00:51:19Z</time>
+<time>2005-06-11T00:51:19.860Z</time>
<name>WP0100</name>
<cmt>WP0100</cmt>
<desc>WP0100</desc>
</wpt>
<wpt lat="45.495666651" lon="-75.735996640">
<ele>81.200000</ele>
-<time>2005-06-11T00:51:31Z</time>
+<time>2005-06-11T00:51:31.859Z</time>
<name>WP0101</name>
<cmt>WP0101</cmt>
<desc>WP0101</desc>
</wpt>
<wpt lat="45.495646651" lon="-75.735903307">
<ele>74.500000</ele>
-<time>2005-06-11T00:51:43Z</time>
+<time>2005-06-11T00:51:43.858Z</time>
<name>WP0102</name>
<cmt>WP0102</cmt>
<desc>WP0102</desc>
</wpt>
<wpt lat="45.495689984" lon="-75.735704974">
<ele>74.700000</ele>
-<time>2005-06-11T00:51:53Z</time>
+<time>2005-06-11T00:51:53.858Z</time>
<name>WP0103</name>
<cmt>WP0103</cmt>
<desc>WP0103</desc>
</wpt>
<wpt lat="45.495769984" lon="-75.735519974">
<ele>76.200000</ele>
-<time>2005-06-11T00:52:08Z</time>
+<time>2005-06-11T00:52:08.857Z</time>
<name>WP0104</name>
<cmt>WP0104</cmt>
<desc>WP0104</desc>
</wpt>
<wpt lat="45.495858318" lon="-75.735479974">
<ele>77.900000</ele>
-<time>2005-06-11T00:52:19Z</time>
+<time>2005-06-11T00:52:19.856Z</time>
<name>WP0105</name>
<cmt>WP0105</cmt>
<desc>WP0105</desc>
</wpt>
<wpt lat="45.495914984" lon="-75.735378307">
<ele>78.600000</ele>
-<time>2005-06-11T00:52:27Z</time>
+<time>2005-06-11T00:52:27.856Z</time>
<name>WP0106</name>
<cmt>WP0106</cmt>
<desc>WP0106</desc>
</wpt>
<wpt lat="45.495991651" lon="-75.735234974">
<ele>80.700000</ele>
-<time>2005-06-11T00:52:37Z</time>
+<time>2005-06-11T00:52:37.855Z</time>
<name>WP0107</name>
<cmt>WP0107</cmt>
<desc>WP0107</desc>
</wpt>
<wpt lat="45.496076651" lon="-75.735043307">
<ele>84.400000</ele>
-<time>2005-06-11T00:52:54Z</time>
+<time>2005-06-11T00:52:54.854Z</time>
<name>WP0108</name>
<cmt>WP0108</cmt>
<desc>WP0108</desc>
</wpt>
<wpt lat="45.496214984" lon="-75.734634974">
<ele>92.600000</ele>
-<time>2005-06-11T00:53:33Z</time>
+<time>2005-06-11T00:53:33.851Z</time>
<name>WP0109</name>
<cmt>WP0109</cmt>
<desc>WP0109</desc>
</wpt>
<wpt lat="45.496243318" lon="-75.734476640">
<ele>95.800000</ele>
-<time>2005-06-11T00:53:43Z</time>
+<time>2005-06-11T00:53:43.850Z</time>
<name>WP0110</name>
<cmt>WP0110</cmt>
<desc>WP0110</desc>
</wpt>
<wpt lat="45.496326651" lon="-75.734336640">
<ele>94.700000</ele>
-<time>2005-06-11T00:53:53Z</time>
+<time>2005-06-11T00:53:53.850Z</time>
<name>WP0111</name>
<cmt>WP0111</cmt>
<desc>WP0111</desc>
</wpt>
<wpt lat="45.496198318" lon="-75.734216640">
<ele>59.200000</ele>
-<time>2005-06-11T14:39:26Z</time>
+<time>2005-06-11T14:39:26.882Z</time>
<name>WP0112</name>
<cmt>WP0112</cmt>
<desc>WP0112</desc>
</wpt>
<wpt lat="45.496179984" lon="-75.734338307">
<ele>55.200000</ele>
-<time>2005-06-12T14:39:42Z</time>
+<time>2005-06-12T14:39:42.881Z</time>
<name>WP0113</name>
<cmt>WP0113</cmt>
<desc>WP0113</desc>
</wpt>
<wpt lat="45.496081651" lon="-75.734656640">
<ele>56.100000</ele>
-<time>2005-06-12T14:40:08Z</time>
+<time>2005-06-12T14:40:08.879Z</time>
<name>WP0114</name>
<cmt>WP0114</cmt>
<desc>WP0114</desc>
</wpt>
<wpt lat="45.495996651" lon="-75.734781640">
<ele>54.500000</ele>
-<time>2005-06-12T14:40:16Z</time>
+<time>2005-06-12T14:40:16.878Z</time>
<name>WP0115</name>
<cmt>WP0115</cmt>
<desc>WP0115</desc>
</wpt>
<wpt lat="45.495906651" lon="-75.734983307">
<ele>48.700000</ele>
-<time>2005-06-12T14:40:33Z</time>
+<time>2005-06-12T14:40:33.877Z</time>
<name>WP0116</name>
<cmt>WP0116</cmt>
<desc>WP0116</desc>
</wpt>
<wpt lat="45.495801651" lon="-75.735363307">
<ele>43.700000</ele>
-<time>2005-06-12T14:41:02Z</time>
+<time>2005-06-12T14:41:02.875Z</time>
<name>WP0117</name>
<cmt>WP0117</cmt>
<desc>WP0117</desc>
</wpt>
<wpt lat="45.495801651" lon="-75.735514974">
<ele>45.100000</ele>
-<time>2005-06-12T14:41:16Z</time>
+<time>2005-06-12T14:41:16.874Z</time>
<name>WP0118</name>
<cmt>WP0118</cmt>
<desc>WP0118</desc>
</wpt>
<wpt lat="45.495833318" lon="-75.735654974">
<ele>44.600000</ele>
-<time>2005-06-12T14:41:24Z</time>
+<time>2005-06-12T14:41:24.874Z</time>
<name>WP0119</name>
<cmt>WP0119</cmt>
<desc>WP0119</desc>
</wpt>
<wpt lat="45.495914984" lon="-75.735726640">
<ele>44.100000</ele>
-<time>2005-06-12T14:41:31Z</time>
+<time>2005-06-12T14:41:31.873Z</time>
<name>WP0120</name>
<cmt>WP0120</cmt>
<desc>WP0120</desc>
</wpt>
<wpt lat="45.495956651" lon="-75.735839974">
<ele>43.000000</ele>
-<time>2005-06-12T14:41:40Z</time>
+<time>2005-06-12T14:41:40.873Z</time>
<name>WP0121</name>
<cmt>WP0121</cmt>
<desc>WP0121</desc>
</wpt>
<wpt lat="45.496036651" lon="-75.735908307">
<ele>42.000000</ele>
-<time>2005-06-12T14:41:48Z</time>
+<time>2005-06-12T14:41:48.872Z</time>
<name>WP0122</name>
<cmt>WP0122</cmt>
<desc>WP0122</desc>
</wpt>
<wpt lat="45.496151651" lon="-75.735971640">
<ele>41.400000</ele>
-<time>2005-06-12T14:41:55Z</time>
+<time>2005-06-12T14:41:55.872Z</time>
<name>WP0123</name>
<cmt>WP0123</cmt>
<desc>WP0123</desc>
</wpt>
<wpt lat="45.496328318" lon="-75.735998307">
<ele>41.600000</ele>
-<time>2005-06-12T14:42:05Z</time>
+<time>2005-06-12T14:42:05.871Z</time>
<name>WP0124</name>
<cmt>WP0124</cmt>
<desc>WP0124</desc>
</wpt>
<wpt lat="45.496431651" lon="-75.735963307">
<ele>41.600000</ele>
-<time>2005-06-12T14:42:14Z</time>
+<time>2005-06-12T14:42:14.871Z</time>
<name>WP0125</name>
<cmt>WP0125</cmt>
<desc>WP0125</desc>
</wpt>
<wpt lat="45.496608318" lon="-75.735874974">
<ele>41.600000</ele>
-<time>2005-06-12T14:42:31Z</time>
+<time>2005-06-12T14:42:31.870Z</time>
<name>WP0126</name>
<cmt>WP0126</cmt>
<desc>WP0126</desc>
</wpt>
<wpt lat="45.496763318" lon="-75.735828307">
<ele>41.600000</ele>
-<time>2005-06-12T14:42:44Z</time>
+<time>2005-06-12T14:42:44.869Z</time>
<name>WP0127</name>
<cmt>WP0127</cmt>
<desc>WP0127</desc>
</wpt>
<wpt lat="45.496854984" lon="-75.735886640">
<ele>41.600000</ele>
-<time>2005-06-12T14:42:50Z</time>
+<time>2005-06-12T14:42:50.868Z</time>
<name>WP0128</name>
<cmt>WP0128</cmt>
<desc>WP0128</desc>
</wpt>
<wpt lat="45.496996651" lon="-75.735931640">
<ele>41.600000</ele>
-<time>2005-06-12T14:43:03Z</time>
+<time>2005-06-12T14:43:03.867Z</time>
<name>WP0129</name>
<cmt>WP0129</cmt>
<desc>WP0129</desc>
</wpt>
<wpt lat="45.497081651" lon="-75.735889974">
<ele>41.600000</ele>
-<time>2005-06-12T14:43:06Z</time>
+<time>2005-06-12T14:43:06.867Z</time>
<name>WP0130</name>
<cmt>WP0130</cmt>
<desc>WP0130</desc>
</wpt>
<wpt lat="45.497164984" lon="-75.735838307">
<ele>41.600000</ele>
-<time>2005-06-12T14:43:15Z</time>
+<time>2005-06-12T14:43:15.867Z</time>
<name>WP0131</name>
<cmt>WP0131</cmt>
<desc>WP0131</desc>
</wpt>
<wpt lat="45.497229984" lon="-75.735719974">
<ele>41.600000</ele>
-<time>2005-06-12T14:43:24Z</time>
+<time>2005-06-12T14:43:24.866Z</time>
<name>WP0132</name>
<cmt>WP0132</cmt>
<desc>WP0132</desc>
</wpt>
<wpt lat="45.497303318" lon="-75.735568307">
<ele>41.700000</ele>
-<time>2005-06-12T14:43:34Z</time>
+<time>2005-06-12T14:43:34.865Z</time>
<name>WP0133</name>
<cmt>WP0133</cmt>
<desc>WP0133</desc>
</wpt>
<wpt lat="45.497301651" lon="-75.735439974">
<ele>41.700000</ele>
-<time>2005-06-12T14:43:41Z</time>
+<time>2005-06-12T14:43:41.865Z</time>
<name>WP0134</name>
<cmt>WP0134</cmt>
<desc>WP0134</desc>
</wpt>
<wpt lat="45.497318318" lon="-75.735193307">
<ele>41.800000</ele>
-<time>2005-06-12T14:43:54Z</time>
+<time>2005-06-12T14:43:54.864Z</time>
<name>WP0135</name>
<cmt>WP0135</cmt>
<desc>WP0135</desc>
</wpt>
<wpt lat="45.497329984" lon="-75.734973307">
<ele>42.300000</ele>
-<time>2005-06-12T14:44:06Z</time>
+<time>2005-06-12T14:44:06.863Z</time>
<name>WP0136</name>
<cmt>WP0136</cmt>
<desc>WP0136</desc>
</wpt>
<wpt lat="45.497464984" lon="-75.733798307">
<ele>45.200000</ele>
-<time>2005-06-12T14:44:53Z</time>
+<time>2005-06-12T14:44:53.860Z</time>
<name>WP0137</name>
<cmt>WP0137</cmt>
<desc>WP0137</desc>
</wpt>
<wpt lat="45.497519984" lon="-75.733038307">
<ele>46.700000</ele>
-<time>2005-06-12T14:45:30Z</time>
+<time>2005-06-12T14:45:30.858Z</time>
<name>WP0138</name>
<cmt>WP0138</cmt>
<desc>WP0138</desc>
</wpt>
<wpt lat="45.497474984" lon="-75.732808307">
<ele>47.400000</ele>
-<time>2005-06-12T14:45:44Z</time>
+<time>2005-06-12T14:45:44.857Z</time>
<name>WP0139</name>
<cmt>WP0139</cmt>
<desc>WP0139</desc>
</wpt>
<wpt lat="45.497466651" lon="-75.732938307">
<ele>48.300000</ele>
-<time>2005-06-12T14:45:55Z</time>
+<time>2005-06-12T14:45:55.856Z</time>
<name>WP0140</name>
<cmt>WP0140</cmt>
<desc>WP0140</desc>
</wpt>
<wpt lat="45.497506651" lon="-75.733146640">
<ele>49.000000</ele>
-<time>2005-06-12T14:46:07Z</time>
+<time>2005-06-12T14:46:07.855Z</time>
<name>WP0141</name>
<cmt>WP0141</cmt>
<desc>WP0141</desc>
</wpt>
<wpt lat="45.497499984" lon="-75.733361640">
<ele>49.400000</ele>
-<time>2005-06-12T14:46:22Z</time>
+<time>2005-06-12T14:46:22.854Z</time>
<name>WP0142</name>
<cmt>WP0142</cmt>
<desc>WP0142</desc>
</wpt>
<wpt lat="45.497463318" lon="-75.733511640">
<ele>49.900000</ele>
-<time>2005-06-12T14:46:37Z</time>
+<time>2005-06-12T14:46:37.853Z</time>
<name>WP0143</name>
<cmt>WP0143</cmt>
<desc>WP0143</desc>
</wpt>
<wpt lat="45.497483318" lon="-75.733636640">
<ele>49.500000</ele>
-<time>2005-06-12T14:47:06Z</time>
+<time>2005-06-12T14:47:06.852Z</time>
<name>WP0144</name>
<cmt>WP0144</cmt>
<desc>WP0144</desc>
</wpt>
<wpt lat="45.497466651" lon="-75.733898307">
<ele>55.000000</ele>
-<time>2005-06-12T14:47:31Z</time>
+<time>2005-06-12T14:47:31.850Z</time>
<name>WP0145</name>
<cmt>WP0145</cmt>
<desc>WP0145</desc>
</wpt>
<wpt lat="45.497471651" lon="-75.734046640">
<ele>56.600000</ele>
-<time>2005-06-12T14:47:40Z</time>
+<time>2005-06-12T14:47:40.849Z</time>
<name>WP0146</name>
<cmt>WP0146</cmt>
<desc>WP0146</desc>
</wpt>
<wpt lat="45.497383318" lon="-75.734076640">
<ele>56.100000</ele>
-<time>2005-06-12T14:48:17Z</time>
+<time>2005-06-12T14:48:17.847Z</time>
<name>WP0147</name>
<cmt>WP0147</cmt>
<desc>WP0147</desc>
</wpt>
<wpt lat="45.497269984" lon="-75.734148307">
<ele>56.700000</ele>
-<time>2005-06-12T14:48:37Z</time>
+<time>2005-06-12T14:48:37.846Z</time>
<name>WP0148</name>
<cmt>WP0148</cmt>
<desc>WP0148</desc>
</wpt>
<wpt lat="45.497241651" lon="-75.734263307">
<ele>70.600000</ele>
-<time>2005-06-12T14:49:04Z</time>
+<time>2005-06-12T14:49:04.844Z</time>
<name>WP0149</name>
<cmt>WP0149</cmt>
<desc>WP0149</desc>
</wpt>
<wpt lat="45.497159984" lon="-75.734243307">
<ele>75.600000</ele>
-<time>2005-06-12T14:49:14Z</time>
+<time>2005-06-12T14:49:14.843Z</time>
<name>WP0150</name>
<cmt>WP0150</cmt>
<desc>WP0150</desc>
</wpt>
<wpt lat="45.497066651" lon="-75.734216640">
<ele>76.100000</ele>
-<time>2005-06-12T14:49:29Z</time>
+<time>2005-06-12T14:49:29.842Z</time>
<name>WP0151</name>
<cmt>WP0151</cmt>
<desc>WP0151</desc>
</wpt>
<wpt lat="45.496981651" lon="-75.734176640">
<ele>77.400000</ele>
-<time>2005-06-12T14:49:49Z</time>
+<time>2005-06-12T14:49:49.841Z</time>
<name>WP0152</name>
<cmt>WP0152</cmt>
<desc>WP0152</desc>
</wpt>
<wpt lat="45.497001651" lon="-75.734269974">
<ele>84.500000</ele>
-<time>2005-06-12T14:50:10Z</time>
+<time>2005-06-12T14:50:10.839Z</time>
<name>WP0153</name>
<cmt>WP0153</cmt>
<desc>WP0153</desc>
</wpt>
<wpt lat="45.497056651" lon="-75.734181640">
<ele>90.200000</ele>
-<time>2005-06-12T14:50:25Z</time>
+<time>2005-06-12T14:50:25.839Z</time>
<name>WP0154</name>
<cmt>WP0154</cmt>
<desc>WP0154</desc>
</wpt>
<wpt lat="45.497098318" lon="-75.734301640">
<ele>93.200000</ele>
-<time>2005-06-12T14:50:45Z</time>
+<time>2005-06-12T14:50:45.837Z</time>
<name>WP0155</name>
<cmt>WP0155</cmt>
<desc>WP0155</desc>
</wpt>
<wpt lat="45.497131651" lon="-75.734461640">
<ele>94.400000</ele>
-<time>2005-06-12T14:50:55Z</time>
+<time>2005-06-12T14:50:55.837Z</time>
<name>WP0156</name>
<cmt>WP0156</cmt>
<desc>WP0156</desc>
</wpt>
<wpt lat="45.497083318" lon="-75.734576640">
<ele>95.400000</ele>
-<time>2005-06-12T14:51:04Z</time>
+<time>2005-06-12T14:51:04.836Z</time>
<name>WP0157</name>
<cmt>WP0157</cmt>
<desc>WP0157</desc>
</wpt>
<wpt lat="45.497011651" lon="-75.734718307">
<ele>96.500000</ele>
-<time>2005-06-12T14:51:16Z</time>
+<time>2005-06-12T14:51:16.835Z</time>
<name>WP0158</name>
<cmt>WP0158</cmt>
<desc>WP0158</desc>
</wpt>
<wpt lat="45.497041651" lon="-75.734841640">
<ele>96.300000</ele>
-<time>2005-06-12T14:51:38Z</time>
+<time>2005-06-12T14:51:38.834Z</time>
<name>WP0159</name>
<cmt>WP0159</cmt>
<desc>WP0159</desc>
</wpt>
<wpt lat="45.496978318" lon="-75.734936640">
<ele>97.000000</ele>
-<time>2005-06-12T14:51:47Z</time>
+<time>2005-06-12T14:51:47.833Z</time>
<name>WP0160</name>
<cmt>WP0160</cmt>
<desc>WP0160</desc>
</wpt>
<wpt lat="45.496954984" lon="-75.735069974">
<ele>96.900000</ele>
-<time>2005-06-12T14:51:57Z</time>
+<time>2005-06-12T14:51:57.832Z</time>
<name>WP0161</name>
<cmt>WP0161</cmt>
<desc>WP0161</desc>
</wpt>
<wpt lat="45.496956651" lon="-75.735244974">
<ele>98.200000</ele>
-<time>2005-06-12T14:52:10Z</time>
+<time>2005-06-12T14:52:10.832Z</time>
<name>WP0162</name>
<cmt>WP0162</cmt>
<desc>WP0162</desc>
</wpt>
<wpt lat="45.496894984" lon="-75.735343307">
<ele>98.600000</ele>
-<time>2005-06-12T14:52:24Z</time>
+<time>2005-06-12T14:52:24.831Z</time>
<name>WP0163</name>
<cmt>WP0163</cmt>
<desc>WP0163</desc>
</wpt>
<wpt lat="45.496828318" lon="-75.735484974">
<ele>98.400000</ele>
-<time>2005-06-12T14:52:38Z</time>
+<time>2005-06-12T14:52:38.830Z</time>
<name>WP0164</name>
<cmt>WP0164</cmt>
<desc>WP0164</desc>
</wpt>
<wpt lat="45.496764984" lon="-75.735634974">
<ele>98.200000</ele>
-<time>2005-06-12T14:52:51Z</time>
+<time>2005-06-12T14:52:51.829Z</time>
<name>WP0165</name>
<cmt>WP0165</cmt>
<desc>WP0165</desc>
</wpt>
<wpt lat="45.496698318" lon="-75.735818307">
<ele>97.000000</ele>
-<time>2005-06-12T14:53:04Z</time>
+<time>2005-06-12T14:53:04.828Z</time>
<name>WP0166</name>
<cmt>WP0166</cmt>
<desc>WP0166</desc>
</wpt>
<wpt lat="45.496658318" lon="-75.735986640">
<ele>96.600000</ele>
-<time>2005-06-12T14:53:12Z</time>
+<time>2005-06-12T14:53:12.828Z</time>
<name>WP0167</name>
<cmt>WP0167</cmt>
<desc>WP0167</desc>
</wpt>
<wpt lat="45.496573318" lon="-75.736061640">
<ele>96.100000</ele>
-<time>2005-06-12T14:53:17Z</time>
+<time>2005-06-12T14:53:17.827Z</time>
<name>WP0168</name>
<cmt>WP0168</cmt>
<desc>WP0168</desc>
</wpt>
<wpt lat="45.496441651" lon="-75.736114974">
<ele>94.800000</ele>
-<time>2005-06-12T14:53:25Z</time>
+<time>2005-06-12T14:53:25.827Z</time>
<name>WP0169</name>
<cmt>WP0169</cmt>
<desc>WP0169</desc>
</wpt>
<wpt lat="45.496343318" lon="-75.736063307">
<ele>95.200000</ele>
-<time>2005-06-12T14:53:30Z</time>
+<time>2005-06-12T14:53:30.826Z</time>
<name>WP0170</name>
<cmt>WP0170</cmt>
<desc>WP0170</desc>
</wpt>
<wpt lat="45.495934984" lon="-75.735669974">
<ele>93.600000</ele>
-<time>2005-06-12T14:53:51Z</time>
+<time>2005-06-12T14:53:51.825Z</time>
<name>WP0171</name>
<cmt>WP0171</cmt>
<desc>WP0171</desc>
</wpt>
<wpt lat="45.495949984" lon="-75.735524974">
<ele>92.400000</ele>
-<time>2005-06-12T14:53:56Z</time>
+<time>2005-06-12T14:53:56.825Z</time>
<name>WP0172</name>
<cmt>WP0172</cmt>
<desc>WP0172</desc>
</wpt>
<wpt lat="45.495986651" lon="-75.735344974">
<ele>91.200000</ele>
-<time>2005-06-12T14:54:07Z</time>
+<time>2005-06-12T14:54:07.824Z</time>
<name>WP0173</name>
<cmt>WP0173</cmt>
<desc>WP0173</desc>
</wpt>
<wpt lat="45.496024984" lon="-75.735221640">
<ele>92.400000</ele>
-<time>2005-06-12T14:54:19Z</time>
+<time>2005-06-12T14:54:19.823Z</time>
<name>WP0174</name>
<cmt>WP0174</cmt>
<desc>WP0174</desc>
</wpt>
<wpt lat="45.496096651" lon="-75.734986640">
<ele>94.400000</ele>
-<time>2005-06-12T14:54:46Z</time>
+<time>2005-06-12T14:54:46.821Z</time>
<name>WP0175</name>
<cmt>WP0175</cmt>
<desc>WP0175</desc>
</wpt>
<wpt lat="45.496131651" lon="-75.734836640">
<ele>92.800000</ele>
-<time>2005-06-12T14:55:02Z</time>
+<time>2005-06-12T14:55:02.820Z</time>
<name>WP0176</name>
<cmt>WP0176</cmt>
<desc>WP0176</desc>
</wpt>
<wpt lat="45.496186651" lon="-75.734716640">
<ele>94.900000</ele>
-<time>2005-06-12T14:55:11Z</time>
+<time>2005-06-12T14:55:11.820Z</time>
<name>WP0177</name>
<cmt>WP0177</cmt>
<desc>WP0177</desc>
</wpt>
<wpt lat="45.496241651" lon="-75.734586640">
<ele>95.600000</ele>
-<time>2005-06-12T14:55:21Z</time>
+<time>2005-06-12T14:55:21.819Z</time>
<name>WP0178</name>
<cmt>WP0178</cmt>
<desc>WP0178</desc>
</wpt>
<wpt lat="45.496301651" lon="-75.734363307">
<ele>96.300000</ele>
-<time>2005-06-12T14:55:43Z</time>
+<time>2005-06-12T14:55:43.818Z</time>
<name>WP0179</name>
<cmt>WP0179</cmt>
<desc>WP0179</desc>
</wpt>
<wpt lat="45.496216651" lon="-75.734409974">
<ele>96.300000</ele>
-<time>2005-06-12T14:56:17Z</time>
+<time>2005-06-12T14:56:17.815Z</time>
<name>WP0180</name>
<cmt>WP0180</cmt>
<desc>WP0180</desc>
</wpt>
<wpt lat="45.496306651" lon="-75.734371640">
<ele>98.800000</ele>
-<time>2005-06-12T14:56:27Z</time>
+<time>2005-06-12T14:56:27.815Z</time>
<name>WP0181</name>
<cmt>WP0181</cmt>
<desc>WP0181</desc>
</wpt>
<wpt lat="45.496194984" lon="-75.734224974">
<ele>97.900000</ele>
-<time>2005-06-12T14:57:10Z</time>
+<time>2005-06-12T14:57:10.812Z</time>
<name>WP0182</name>
<cmt>WP0182</cmt>
<desc>WP0182</desc>
</wpt>
<wpt lat="45.495998318" lon="-75.734101640">
<ele>97.600000</ele>
-<time>2005-06-12T14:57:13Z</time>
+<time>2005-06-12T14:57:13.812Z</time>
<name>WP0183</name>
<cmt>WP0183</cmt>
<desc>WP0183</desc>
</wpt>
<wpt lat="45.494281651" lon="-75.733509974">
<ele>97.300000</ele>
-<time>2005-06-12T14:57:44Z</time>
+<time>2005-06-12T14:57:44.810Z</time>
<name>WP0184</name>
<cmt>WP0184</cmt>
<desc>WP0184</desc>
</wpt>
<wpt lat="45.491526651" lon="-75.730496640">
<ele>97.500000</ele>
-<time>2005-06-12T14:58:20Z</time>
+<time>2005-06-12T14:58:20.807Z</time>
<name>WP0185</name>
<cmt>WP0185</cmt>
<desc>WP0185</desc>
</wpt>
<wpt lat="45.490809984" lon="-75.728584974">
<ele>97.700000</ele>
-<time>2005-06-12T14:58:21Z</time>
+<time>2005-06-12T14:58:21.807Z</time>
<name>WP0186</name>
<cmt>WP0186</cmt>
<desc>WP0186</desc>
</wpt>
<wpt lat="45.489388318" lon="-75.725018307">
<ele>98.100000</ele>
-<time>2005-06-12T14:58:24Z</time>
+<time>2005-06-12T14:58:24.807Z</time>
<name>WP0187</name>
<cmt>WP0187</cmt>
<desc>WP0187</desc>
</wpt>
<wpt lat="45.488314984" lon="-75.722894974">
<ele>98.200000</ele>
-<time>2005-06-12T14:58:28Z</time>
+<time>2005-06-12T14:58:28.807Z</time>
<name>WP0188</name>
<cmt>WP0188</cmt>
<desc>WP0188</desc>
</wpt>
<wpt lat="45.487204984" lon="-75.721489974">
<ele>98.200000</ele>
-<time>2005-06-12T14:58:34Z</time>
+<time>2005-06-12T14:58:34.807Z</time>
<name>WP0189</name>
<cmt>WP0189</cmt>
<desc>WP0189</desc>
</wpt>
<wpt lat="45.487416651" lon="-75.720791640">
<ele>97.900000</ele>
-<time>2005-06-12T14:58:42Z</time>
+<time>2005-06-12T14:58:42.806Z</time>
<name>WP0190</name>
<cmt>WP0190</cmt>
<desc>WP0190</desc>
</wpt>
<wpt lat="45.488398318" lon="-75.721109974">
<ele>97.800000</ele>
-<time>2005-06-12T14:58:43Z</time>
+<time>2005-06-12T14:58:43.806Z</time>
<name>WP0191</name>
<cmt>WP0191</cmt>
<desc>WP0191</desc>
</wpt>
<wpt lat="45.490408318" lon="-75.722254974">
<ele>101.300000</ele>
-<time>2005-06-12T14:58:46Z</time>
+<time>2005-06-12T14:58:46.806Z</time>
<name>WP0192</name>
<cmt>WP0192</cmt>
<desc>WP0192</desc>
</wpt>
<wpt lat="45.491743318" lon="-75.723359974">
<ele>105.300000</ele>
-<time>2005-06-12T14:58:52Z</time>
+<time>2005-06-12T14:58:52.805Z</time>
<name>WP0193</name>
<cmt>WP0193</cmt>
<desc>WP0193</desc>
</wpt>
<wpt lat="45.491659984" lon="-75.723431640">
<ele>105.600000</ele>
-<time>2005-06-12T14:58:54Z</time>
+<time>2005-06-12T14:58:54.805Z</time>
<name>WP0194</name>
<cmt>WP0194</cmt>
<desc>WP0194</desc>
</wpt>
<wpt lat="45.491213318" lon="-75.723554974">
<ele>105.700000</ele>
-<time>2005-06-12T14:59:01Z</time>
+<time>2005-06-12T14:59:01.805Z</time>
<name>WP0195</name>
<cmt>WP0195</cmt>
<desc>WP0195</desc>
</wpt>
<wpt lat="45.490278318" lon="-75.723608307">
<ele>104.700000</ele>
-<time>2005-06-12T14:59:15Z</time>
+<time>2005-06-12T14:59:15.804Z</time>
<name>WP0196</name>
<cmt>WP0196</cmt>
<desc>WP0196</desc>
</wpt>
<wpt lat="45.490369984" lon="-75.723388307">
<ele>103.600000</ele>
-<time>2005-06-12T14:59:17Z</time>
+<time>2005-06-12T14:59:17.804Z</time>
<name>WP0197</name>
<cmt>WP0197</cmt>
<desc>WP0197</desc>
</wpt>
<wpt lat="45.490526651" lon="-75.721809974">
<ele>101.300000</ele>
-<time>2005-06-12T14:59:24Z</time>
+<time>2005-06-12T14:59:24.803Z</time>
<name>WP0198</name>
<cmt>WP0198</cmt>
<desc>WP0198</desc>
</wpt>
<wpt lat="45.490071651" lon="-75.720394974">
<ele>99.900000</ele>
-<time>2005-06-12T14:59:29Z</time>
+<time>2005-06-12T14:59:29.803Z</time>
<name>WP0199</name>
<cmt>WP0199</cmt>
<desc>WP0199</desc>
</wpt>
<wpt lat="45.488781651" lon="-75.717853307">
<ele>98.100000</ele>
-<time>2005-06-12T14:59:40Z</time>
+<time>2005-06-12T14:59:40.802Z</time>
<name>WP0200</name>
<cmt>WP0200</cmt>
<desc>WP0200</desc>
</wpt>
<wpt lat="45.488024984" lon="-75.715301640">
<ele>97.900000</ele>
-<time>2005-06-12T14:59:54Z</time>
+<time>2005-06-12T14:59:54.801Z</time>
<name>WP0201</name>
<cmt>WP0201</cmt>
<desc>WP0201</desc>
</wpt>
<wpt lat="45.487381651" lon="-75.712531640">
<ele>97.700000</ele>
-<time>2005-06-12T15:00:08Z</time>
+<time>2005-06-12T15:00:08.800Z</time>
<name>WP0202</name>
<cmt>WP0202</cmt>
<desc>WP0202</desc>
</wpt>
<wpt lat="45.487396651" lon="-75.711828307">
<ele>97.700000</ele>
-<time>2005-06-12T15:00:12Z</time>
+<time>2005-06-12T15:00:12.800Z</time>
<name>WP0203</name>
<cmt>WP0203</cmt>
<desc>WP0203</desc>
</wpt>
<wpt lat="45.487534984" lon="-75.711744974">
<ele>97.700000</ele>
-<time>2005-06-12T15:00:13Z</time>
+<time>2005-06-12T15:00:13.800Z</time>
<name>WP0204</name>
<cmt>WP0204</cmt>
<desc>WP0204</desc>
</wpt>
<wpt lat="45.487728318" lon="-75.711471640">
<ele>97.500000</ele>
-<time>2005-06-12T15:00:15Z</time>
+<time>2005-06-12T15:00:15.800Z</time>
<name>WP0205</name>
<cmt>WP0205</cmt>
<desc>WP0205</desc>
</wpt>
<wpt lat="45.487859984" lon="-75.710994974">
<ele>97.300000</ele>
-<time>2005-06-12T15:00:17Z</time>
+<time>2005-06-12T15:00:17.800Z</time>
<name>WP0206</name>
<cmt>WP0206</cmt>
<desc>WP0206</desc>
</wpt>
<wpt lat="45.488128318" lon="-75.708784974">
<ele>97.100000</ele>
-<time>2005-06-12T15:00:26Z</time>
+<time>2005-06-12T15:00:26.799Z</time>
<name>WP0207</name>
<cmt>WP0207</cmt>
<desc>WP0207</desc>
</wpt>
<wpt lat="45.488351651" lon="-75.705628307">
<ele>97.000000</ele>
-<time>2005-06-12T15:00:39Z</time>
+<time>2005-06-12T15:00:39.798Z</time>
<name>WP0208</name>
<cmt>WP0208</cmt>
<desc>WP0208</desc>
</wpt>
<wpt lat="45.488748318" lon="-75.704488307">
<ele>97.100000</ele>
-<time>2005-06-12T15:00:43Z</time>
+<time>2005-06-12T15:00:43.798Z</time>
<name>WP0209</name>
<cmt>WP0209</cmt>
<desc>WP0209</desc>
</wpt>
<wpt lat="45.489294984" lon="-75.703023307">
<ele>97.200000</ele>
-<time>2005-06-12T15:00:52Z</time>
+<time>2005-06-12T15:00:52.798Z</time>
<name>WP0210</name>
<cmt>WP0210</cmt>
<desc>WP0210</desc>
</wpt>
<wpt lat="45.489278318" lon="-75.703171640">
<ele>97.100000</ele>
-<time>2005-06-12T15:00:56Z</time>
+<time>2005-06-12T15:00:56.797Z</time>
<name>WP0211</name>
<cmt>WP0211</cmt>
<desc>WP0211</desc>
</wpt>
<wpt lat="45.489263318" lon="-75.703306640">
<ele>96.900000</ele>
-<time>2005-06-12T15:01:14Z</time>
+<time>2005-06-12T15:01:14.796Z</time>
<name>WP0212</name>
<cmt>WP0212</cmt>
<desc>WP0212</desc>
</wpt>
<wpt lat="45.489364984" lon="-75.702803307">
<ele>96.900000</ele>
-<time>2005-06-12T15:01:37Z</time>
+<time>2005-06-12T15:01:37.795Z</time>
<name>WP0213</name>
<cmt>WP0213</cmt>
<desc>WP0213</desc>
</wpt>
<wpt lat="45.489553318" lon="-75.700098307">
<ele>97.300000</ele>
-<time>2005-06-12T15:01:45Z</time>
+<time>2005-06-12T15:01:45.794Z</time>
<name>WP0214</name>
<cmt>WP0214</cmt>
<desc>WP0214</desc>
</wpt>
<wpt lat="45.489698318" lon="-75.698621640">
<ele>97.200000</ele>
-<time>2005-06-12T15:01:59Z</time>
+<time>2005-06-12T15:01:59.793Z</time>
<name>WP0215</name>
<cmt>WP0215</cmt>
<desc>WP0215</desc>
</wpt>
<wpt lat="45.489766651" lon="-75.698538307">
<ele>97.200000</ele>
-<time>2005-06-12T15:02:04Z</time>
+<time>2005-06-12T15:02:04.793Z</time>
<name>WP0216</name>
<cmt>WP0216</cmt>
<desc>WP0216</desc>
</wpt>
<wpt lat="45.489761651" lon="-75.698398307">
<ele>97.100000</ele>
-<time>2005-06-12T15:02:12Z</time>
+<time>2005-06-12T15:02:12.792Z</time>
<name>WP0217</name>
<cmt>WP0217</cmt>
<desc>WP0217</desc>
</wpt>
<wpt lat="45.489583318" lon="-75.695093307">
<ele>97.400000</ele>
-<time>2005-06-12T15:02:28Z</time>
+<time>2005-06-12T15:02:28.791Z</time>
<name>WP0218</name>
<cmt>WP0218</cmt>
<desc>WP0218</desc>
</wpt>
<wpt lat="45.489726651" lon="-75.693488307">
<ele>97.500000</ele>
-<time>2005-06-12T15:02:36Z</time>
+<time>2005-06-12T15:02:36.791Z</time>
<name>WP0219</name>
<cmt>WP0219</cmt>
<desc>WP0219</desc>
</wpt>
<wpt lat="45.489909984" lon="-75.693386640">
<ele>97.500000</ele>
-<time>2005-06-12T15:02:37Z</time>
+<time>2005-06-12T15:02:37.791Z</time>
<name>WP0220</name>
<cmt>WP0220</cmt>
<desc>WP0220</desc>
</wpt>
<wpt lat="45.490408318" lon="-75.692841640">
<ele>97.500000</ele>
-<time>2005-06-12T15:02:41Z</time>
+<time>2005-06-12T15:02:41.791Z</time>
<name>WP0221</name>
<cmt>WP0221</cmt>
<desc>WP0221</desc>
</wpt>
<wpt lat="45.490608318" lon="-75.692348307">
<ele>97.400000</ele>
-<time>2005-06-12T15:02:44Z</time>
+<time>2005-06-12T15:02:44.790Z</time>
<name>WP0222</name>
<cmt>WP0222</cmt>
<desc>WP0222</desc>
</wpt>
<wpt lat="45.491079984" lon="-75.690218307">
<ele>97.400000</ele>
-<time>2005-06-12T15:02:56Z</time>
+<time>2005-06-12T15:02:56.790Z</time>
<name>WP0223</name>
<cmt>WP0223</cmt>
<desc>WP0223</desc>
</wpt>
<wpt lat="45.491288318" lon="-75.688778307">
<ele>97.300000</ele>
-<time>2005-06-12T15:03:04Z</time>
+<time>2005-06-12T15:03:04.789Z</time>
<name>WP0224</name>
<cmt>WP0224</cmt>
<desc>WP0224</desc>
</wpt>
<wpt lat="45.491183318" lon="-75.688611640">
<ele>97.300000</ele>
-<time>2005-06-12T15:03:05Z</time>
+<time>2005-06-12T15:03:05.789Z</time>
<name>WP0225</name>
<cmt>WP0225</cmt>
<desc>WP0225</desc>
</wpt>
<wpt lat="45.490993318" lon="-75.688663307">
<ele>99.000000</ele>
-<time>2005-06-12T15:03:06Z</time>
+<time>2005-06-12T15:03:06.789Z</time>
<name>WP0226</name>
<cmt>WP0226</cmt>
<desc>WP0226</desc>
</wpt>
<wpt lat="45.489688318" lon="-75.688748307">
<ele>99.300000</ele>
-<time>2005-06-12T15:03:16Z</time>
+<time>2005-06-12T15:03:16.788Z</time>
<name>WP0227</name>
<cmt>WP0227</cmt>
<desc>WP0227</desc>
</wpt>
<wpt lat="45.489516651" lon="-75.688719974">
<ele>99.200000</ele>
-<time>2005-06-12T15:03:20Z</time>
+<time>2005-06-12T15:03:20.788Z</time>
<name>WP0228</name>
<cmt>WP0228</cmt>
<desc>WP0228</desc>
</wpt>
<wpt lat="45.489606651" lon="-75.688778307">
<ele>99.000000</ele>
-<time>2005-06-12T15:03:26Z</time>
+<time>2005-06-12T15:03:26.788Z</time>
<name>WP0229</name>
<cmt>WP0229</cmt>
<desc>WP0229</desc>
</wpt>
<wpt lat="45.489716651" lon="-75.688851640">
<ele>98.600000</ele>
-<time>2005-06-12T15:03:53Z</time>
+<time>2005-06-12T15:03:53.786Z</time>
<name>WP0230</name>
<cmt>WP0230</cmt>
<desc>WP0230</desc>
</wpt>
<wpt lat="45.489636651" lon="-75.688773307">
<ele>98.300000</ele>
-<time>2005-06-12T15:04:12Z</time>
+<time>2005-06-12T15:04:12.785Z</time>
<name>WP0231</name>
<cmt>WP0231</cmt>
<desc>WP0231</desc>
</wpt>
<wpt lat="45.489688318" lon="-75.688884974">
<ele>98.000000</ele>
-<time>2005-06-12T15:04:34Z</time>
+<time>2005-06-12T15:04:34.783Z</time>
<name>WP0232</name>
<cmt>WP0232</cmt>
<desc>WP0232</desc>
</wpt>
<wpt lat="45.489699984" lon="-75.688648307">
<ele>98.200000</ele>
-<time>2005-06-12T15:04:37Z</time>
+<time>2005-06-12T15:04:37.783Z</time>
<name>WP0233</name>
<cmt>WP0233</cmt>
<desc>WP0233</desc>
</wpt>
<wpt lat="45.489858318" lon="-75.688149974">
<ele>98.400000</ele>
-<time>2005-06-12T15:04:43Z</time>
+<time>2005-06-12T15:04:43.783Z</time>
<name>WP0234</name>
<cmt>WP0234</cmt>
<desc>WP0234</desc>
</wpt>
<wpt lat="45.489979984" lon="-75.687781640">
<ele>98.400000</ele>
-<time>2005-06-12T15:04:51Z</time>
+<time>2005-06-12T15:04:51.782Z</time>
<name>WP0235</name>
<cmt>WP0235</cmt>
<desc>WP0235</desc>
</wpt>
<wpt lat="45.489979984" lon="-75.687646640">
<ele>98.100000</ele>
-<time>2005-06-12T15:05:11Z</time>
+<time>2005-06-12T15:05:11.781Z</time>
<name>WP0236</name>
<cmt>WP0236</cmt>
<desc>WP0236</desc>
</wpt>
<wpt lat="45.490004984" lon="-75.684934974">
<ele>97.400000</ele>
-<time>2005-06-12T15:05:30Z</time>
+<time>2005-06-12T15:05:30.780Z</time>
<name>WP0237</name>
<cmt>WP0237</cmt>
<desc>WP0237</desc>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/0"
xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd">
-<bounds minlat="54.785117200" minlon ="-2.345095800" maxlat="54.787984800" maxlon="-2.342500800" />
+<bounds minlat="54.785117200" minlon="-2.345095800" maxlat="54.787984800" maxlon="-2.342500800"/>
<trk>
<trkseg>
<trkpt lat="54.786918600" lon="-2.344296200">
any_route_del_wpt( route_head *rte, waypoint *wpt, int *ct)
{
dequeue( &wpt->Q );
- waypt_free( wpt );
rte->rte_waypt_ct--;
if ( ct ) (*ct)--;
}
/******************************************************************************
- * $Id: shpopen.c,v 1.4 2006/07/13 03:27:54 robertl Exp $
+ * $Id: shpopen.c,v 1.5 2006/11/24 21:55:52 oliskoli Exp $
*
* Project: Shapelib
* Purpose: Implementation of core Shapefile read/write functions.
******************************************************************************
*
* $Log: shpopen.c,v $
+ * Revision 1.5 2006/11/24 21:55:52 oliskoli
+ * Remove (shpopen) warning on FreeBSD.
+ *
* Revision 1.4 2006/07/13 03:27:54 robertl
* Andy Armstrong turns on -Wall for GCC builds and kills about a sequillion warnings. Most of them aren't "real", but it's still a good thing to clean up.
* (I hope I don't regret this before 1.3.1...)
*/
/*static char rcsid[] =
- "$Id: shpopen.c,v 1.4 2006/07/13 03:27:54 robertl Exp $";*/
+ "$Id: shpopen.c,v 1.5 2006/11/24 21:55:52 oliskoli Exp $";*/
#include "shapefil.h"
#include "config.h"
uchar *pabyRec;
int32 i32;
+ nRecordSize = 0;
psSHP->bUpdated = TRUE;
/* -------------------------------------------------------------------- */
}
route_del_wpt( (route_head *)(void *)rte,
(waypoint *)(void *)(xte_recs[i].intermed->wpt));
+ waypt_free((waypoint *)(void *)(xte_recs[i].intermed->wpt));
if ( xte_recs[i].intermed->prev ) {
xte_recs[i].intermed->prev->next = xte_recs[i].intermed->next;
for (index = 0; index < count; index++) {
waypoint *wpt = list[index];
- if (wpt->centiseconds == 2) { /* log continued */
+ if (wpt->microseconds == 2) { /* log continued */
track = NULL;
}
if (track == NULL) {
track->rte_desc = xstrdup(rte_desc);
}
track_add_wpt(track, wpt);
- if (wpt->centiseconds == 1) { /* log pause */
+ if (wpt->microseconds == 1) { /* log pause */
track = NULL;
}
- wpt->centiseconds = 0;
+ wpt->microseconds = 0;
}
xfree(list);
case 10:
break;
case 11:
- if (what == 1) wpt->centiseconds = atoi(str); /* memory point type */
+ if (what == 1) wpt->microseconds = atoi(str); /* memory point type */
break;
}
}
while (c != NULL)
{
int new_what;
+ int fracsec;
switch(column)
{
break;
case 6:
- sscanf(c, "%d:%d:%d.%d", &time.tm_hour, &time.tm_min, &time.tm_sec, &wpt->centiseconds);
- if (what == STM_TRKPT)
- wpt->centiseconds /= 10;
+ sscanf(c, "%d:%d:%d.%d", &time.tm_hour, &time.tm_min, &time.tm_sec, &fracsec);
+ wpt->microseconds = MILLI_TO_MICRO(fracsec);
+ /* makes sense only for recorded trackpoints */
+ if (what != STM_TRKPT) wpt->microseconds = 0;
break;
default:
{
case STM_WAYPT:
case STM_RTEPT:
- gbfprintf(fout, ".%02d", wpt->centiseconds);
+ gbfprintf(fout, ".%02d", 0);
break;
case STM_TRKPT:
- gbfprintf(fout, ".%03d", wpt->centiseconds * 10);
+ gbfprintf(fout, ".%03d", MICRO_TO_MILLI(wpt->microseconds));
break;
}
gbfprintf(fout, ",\r\n");
IFIELD LAT_DECIMAL, "", "%10.6f"
IFIELD LON_DECIMAL, "", "%10.6f"
IFIELD ALT_METERS, "", "%10.0f"
-IFIELD GMT_TIME, "", "%a %b %d %T %Y"
+# Reports are that this format stores in local time, not GMT as
+# originally thought.
+# IFIELD GMT_TIME, "", "%a %b %d %H:%M:%S %Y"
+IFIELD LOCAL_TIME, "", "%a %b %d %H:%M:%S %Y"
--- /dev/null
+# gpsbabel XCSV style file
+#
+# Format: Kompass / Deutscher Alpenverein (DAV) Waypoints
+# Author: Olaf Klein
+# Date: 01/10/2007
+#
+#
+DESCRIPTION Kompass (DAV) Track (.tk)
+DATATYPE TRACK
+EXTENSION wp
+FIELD_DELIMITER COMMA
+RECORD_DELIMITER NEWLINE
+BADCHARS ,"
+#
+# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:
+#
+IFIELD LAT_DECIMAL, "", "%.7f"
+IFIELD LON_DECIMAL, "", "%.7f"
--- /dev/null
+# gpsbabel XCSV style file
+#
+# Format: Kompass / Deutscher Alpenverein (DAV) Waypoints
+# Author: Olaf Klein
+# Date: 01/10/2007
+#
+#
+DESCRIPTION Kompass (DAV) Waypoints (.wp)
+DATATYPE WAYPOINT
+EXTENSION wp
+ENCODING UTF-8
+FIELD_DELIMITER SEMICOLON
+RECORD_DELIMITER CRNEWLINE
+BADCHARS ,"
+#
+# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:
+#
+IFIELD SHORTNAME, "", "%s"
+IFIELD LON_DECIMAL, "", "%.7f"
+IFIELD LAT_DECIMAL, "", "%.7f"
+IFIELD ALT_METERS, "", "%.0f"
+IFIELD LOCAL_TIME,"","%d.%m.%Y %H:%M:%S"
+IFIELD CONSTANT, "Icons\Wegpunkt grün.bmp", "%s"
+IFIELD IGNORE, "", "%s"
+IFIELD CONSTANT, "1", "%s" # unknown
+IFIELD DESCRIPTION, "", "%s"
IFIELD PATH_DISTANCE_KM, "", "%f"
IFIELD GEOCACHE_PLACER,"","%s"
IFIELD YYYYMMDD_TIME,"","%ld"
+IFIELD GEOCACHE_HINT, "", "%s"
+IFIELD GEOCACHE_LAST_FOUND, "", "%d"
{
const char **avp = &attrv[0];
- if (global_opts.objective == rtedata)
+ route = route_head_alloc();
+ while (*avp)
{
- route = route_head_alloc();
- while (*avp)
+ if (strcmp(avp[0], "Name") == 0)
+ {
+ route->rte_name = xstrdup(avp[1]);
+ }
+ else if (strcmp(avp[0], "Software") == 0)
{
- if (strcmp(avp[0], "Name") == 0)
- {
- route->rte_name = xstrdup(avp[1]);
- }
- else if (strcmp(avp[0], "Software") == 0)
- {
- route->rte_desc = xstrdup(avp[1]);
- }
- avp+=2;
+ route->rte_desc = xstrdup(avp[1]);
}
- route_add_head(route);
+ avp+=2;
}
+ route_add_head(route);
}
/*
int via;
if (wpt_tmp == NULL) return;
- via = wpt_tmp->centiseconds;
- wpt_tmp->centiseconds = 0;
+ via = wpt_tmp->microseconds;
+ wpt_tmp->microseconds = 0;
if (via != 0)
waypt_add(wpt_tmp);
const char **avp = &attrv[0];
wpt_tmp = waypt_new();
- wpt_tmp->centiseconds = 0;
if ((waypoints == 1) || (waypoints == item_count))
- wpt_tmp->centiseconds++;
+ wpt_tmp->microseconds++;
waypoints++;
}
if ((0 == strcmp(avp[0], "ViaStation")) && (0 == strcmp(avp[1], "true")))
{
- wpt_tmp->centiseconds = 1;
+ wpt_tmp->microseconds = 1;
}
avp+=2;
}
--- /dev/null
+#!/bin/bash
+
+### cross format read/(write) test ###
+
+PNAME=${PNAME:-./gpsbabel}
+REFGPX="reference/expertgps.gpx" # reference file for all tests
+EXCL="ozi vitosmt" # exclude formats from test
+CAPS=""
+TEMPDIR=/tmp/gb-test-all
+CATALOG=/tmp/gb-test-all.done
+LOGFILE=/tmp/gb-test-all.log
+
+# options
+vg=0
+prep=0
+
+function log_entry()
+{
+ touch $LOGFILE
+ echo "-----------------------------------------------------------------------" >> ${LOGFILE}
+ date >> ${LOGFILE}
+ echo "$*" >> ${LOGFILE}
+}
+
+function try_run() # command line
+{
+ local CMD="$*"
+ local RES=0
+
+ [ $vg -ne 0 ] && CMD="valgrind -q $CMD"
+
+ ${CMD} > $TEMPDIR/.result 2>&1
+ RES=$?
+ if [ $RES -ne 0 -o -s $TEMPDIR/.result ]; then
+ if [ $RES -ne 0 ]; then
+ echo " -- Uhps --"
+ echo "-----------------------------------------------------------------------"
+ test -s $TEMPDIR/.result && cat $TEMPDIR/.result
+ echo "-----------------------------------------------------------------------"
+ else
+ echo ""
+ fi
+ log_entry "cmd($RES): $CMD"
+ test -s $TEMPDIR/.result && cat $TEMPDIR/.result >> ${LOGFILE}
+ return 1
+ else
+ return 0
+ fi
+}
+
+function STAGE_1 () # type format
+{
+ local TYP=$1
+ local FMT=$2
+ local CMD1 CMD2 IFILE OFILE
+
+ echo "$CAPS" |
+
+ while read type caps format comment; do
+
+ for i in $EXCL; do
+ if [ "$format" == "$i" ]; then
+ caps="------"
+ fi
+ done
+
+ grep "$TYP: $FMT & $format" ${CATALOG} > /dev/null && continue
+
+ echo -n "testing "
+ case $TYP in
+ w)
+ echo -n "waypoints"
+ caps=${caps:0:2}
+ ;;
+ t)
+ echo -n "tracks"
+ caps=${caps:2:2}
+ ;;
+ r)
+ echo -n "routes"
+ caps=${caps:4:2}
+ ;;
+ esac
+
+ echo -n ": \"$FMT\" with \"$format\" "
+
+ IFILE=$TEMPDIR/$TYP-$FMT
+ OFILE=$TEMPDIR/$TYP-$FMT.$format
+
+ case $caps in
+ -w)
+ echo -n "*"
+ CMD1="${PNAME} -$TYP -i $FMT -f $IFILE -o $format -F $OFILE"
+ try_run "${CMD1}" || continue
+ ;;
+
+ rw)
+ echo -n "*"
+ CMD1="${PNAME} -$TYP -i $FMT -f $IFILE -o $format -F $OFILE"
+ try_run "${CMD1}" || continue
+ echo -n "*"
+ CMD2="${PNAME} -$TYP -i $format -f $OFILE -o $FMT -F $OFILE.$FMT"
+ try_run "${CMD2}" || continue
+ ;;
+ esac
+
+ echo "*"
+ echo "$TYP: $FMT & $format" >> $CATALOG
+ done
+ return 0
+}
+
+function STAGE_0 ()
+{
+ echo "$CAPS" |
+
+ while read type caps format comment; do
+
+ for i in $EXCL; do
+ if [ "$format" == "$i" ]; then
+ caps="------"
+ fi
+ done
+
+ case ${caps:0:2} in
+ rw)
+ CMD="${PNAME} -i gpx -f $REFGPX -x nuketypes,routes,tracks -o $format -F $TEMPDIR/w-$format"
+ try_run "${CMD}" || continue
+ STAGE_1 "w" $format || exit 1
+ ;;
+ -w)
+ CMD="${PNAME} -i gpx -f $REFGPX -x nuketypes,routes,tracks -o $format -F $TEMPDIR/w-$format"
+ try_run "${CMD}" || continue
+ ;;
+ esac
+ case ${caps:2:2} in
+ rw)
+ CMD="${PNAME} -t -i gpx -f $REFGPX -x nuketypes,waypoints,routes -o $format -F $TEMPDIR/t-$format"
+ try_run "${CMD}" || continue
+ STAGE_1 "t" $format || exit 1
+ ;;
+ -w)
+ CMD="${PNAME} -t -i gpx -f $REFGPX -x nuketypes,waypoints,routes -o $format -F $TEMPDIR/t-$format"
+ try_run "${CMD}" || continue
+ ;;
+ esac
+ case ${caps:4:2} in
+ rw)
+ CMD="${PNAME} -r -i gpx -f $REFGPX -x nuketypes,waypoints,tracks -o $format -F $TEMPDIR/r-$format"
+ try_run "${CMD}" || continue
+ STAGE_1 "r" $format || exit 1
+ ;;
+ -w)
+ CMD="${PNAME} -r -i gpx -f $REFGPX -x nuketypes,waypoints,tracks -o $format -F $TEMPDIR/r-$format"
+ try_run "${CMD}" || continue
+ ;;
+ esac
+ done
+ rm -f $TEMPDIR/.result
+}
+
+rm -rf $TEMPDIR > /dev/null
+mkdir -p $TEMPDIR > /dev/null
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ -s|--start) # remove catalog. run the full test.
+ rm -f $CATALOG
+ ;;
+ -v|--valgrind)
+ vg=1
+ ;;
+ -p|--prepare) # prepare for valgrind check.
+ prep=1
+ ;;
+ -c|--clean)
+ trap "rm -fr $TEMPDIR; exit 1" 0 1 2 3 15
+ ;;
+ -r|--reference)
+ shift
+ REFGPX=$1
+ ;;
+ esac
+ shift
+done
+
+if [ $prep -ne 0 ]; then
+ test -s Makefile && make clean
+ CFLAGS="-O0" ./configure || exit 1 # -O0 is suggested by vg.
+ make || exit 1
+ echo "All fine. You can do now a 'test-all -v'"
+ exit 0
+fi
+
+if test ! -s $REFGPX; then
+ echo "GPX reference \"$REFGPX\" doesn't exist!"
+ exit 1
+fi
+
+test -s $LOGFILE && rm -f $LOGFILE.bak > /dev/null
+touch $LOGFILE
+touch $CATALOG
+
+log_entry "test-all started."
+echo "Catalog: $CATALOG" >> $LOGFILE
+
+CAPS=`${PNAME} -^2 | grep "^file"`
+STAGE_0
${PNAME} -i gtm -f ${TMPDIR}/gtm.gtm -o gpx -F ${TMPDIR}/gtm2.gpx
compare ${TMPDIR}/gtm1.gpx ${TMPDIR}/gtm2.gpx
bincompare ${TMPDIR}/gtm.gtm ${REFERENCE}/sample.gtm
+#
+# GTM compressed files
+# ... do the same as above but with gzipped gtm files
+#
+rm -f ${TMPDIR}/gl.gpx ${TMPDIR}/gpx.gpx
+${PNAME} -i gtm -f ${REFERENCE}/sample.gtm.gz -o gpx -F ${TMPDIR}/gtm1.gpx
+${PNAME} -i gpx -f ${TMPDIR}/gtm1.gpx -o gtm -F ${TMPDIR}/gtm.gtm.gz
+${PNAME} -i gtm -f ${TMPDIR}/gtm.gtm.gz -o gpx -F ${TMPDIR}/gtm2.gpx
+compare ${TMPDIR}/gtm1.gpx ${TMPDIR}/gtm2.gpx
+bincompare ${TMPDIR}/gtm.gtm.gz ${REFERENCE}/sample.gtm.gz
# Magellan Mapsend
rm -f ${TMPDIR}/mm.mapsend ${TMPDIR}/mm.gps
${PNAME} -t -i gpx -f ${REFERENCE}/track/tracks.gpx -o pcx -F ${TMPDIR}/pcx.trk
${PNAME} -t -i pcx -f ${REFERENCE}/track/pcx.trk -o pcx -F ${TMPDIR}/pcx2.trk
compare ${TMPDIR}/pcx.trk ${TMPDIR}/pcx2.trk
+# GPSUtil strain - hand crafted, but based on problem report.
+${PNAME} -i pcx -f reference/gpsutil-1.pcx -o pcx -F ${TMPDIR}/mm-2.pcx
+compare ${TMPDIR}/mm-2.pcx ${TMPDIR}/mm.pcx
#
# Magellan file format
# tef "TourExchangeFormat" read test
#
rm -f ${TMPDIR}/tef_xml*
-${PNAME} -r -i tef -f ${REFERENCE}/route/tef_xml.sample.xml -o gpx -F ${TMPDIR}/tef_xml.sample.gpx
+${PNAME} -i tef -f ${REFERENCE}/route/tef_xml.sample.xml -o gpx -F ${TMPDIR}/tef_xml.sample.gpx
compare ${TMPDIR}/tef_xml.sample.gpx ${REFERENCE}/route/tef_xml.sample.gpx
#
compare ${REFERENCE}/gdb-sample.gpx ${TMPDIR}/gdb-sample.gpx
${PNAME} -i gpx -f ${REFERENCE}/gdb-sample.gpx -o gdb,ver=1 -F ${TMPDIR}/gdb-sample.gdb
${PNAME} -i gdb -f ${TMPDIR}/gdb-sample.gdb -o gpx -F ${TMPDIR}/gdb-sample.gpx
+${PNAME} -i gdb,via -f ${REFERENCE}/gdb-sample-v3.gdb -o gpx -F ${TMPDIR}/gdb-sample_v3.gpx
+compare ${REFERENCE}/gdb-sample.gpx ${TMPDIR}/gdb-sample_v3.gpx
#
# Because of Garmin coordinates storage gpx is not good for this test
# compare ${REFERENCE}/gdb-sample.gpx ${TMPDIR}/gdb-sample.gpx
${PNAME} -i gpx -f ${REFERENCE}/expertgps.gpx -x nuketypes,waypoints,tracks -x transform,wpt=rte,del=y -o gpx -F ${TMPDIR}/transform-wpt.gpx
compare ${TMPDIR}/transform-wpt.gpx ${REFERENCE}/transform-wpt.gpx
+#
+# "Raymarine Waypoint File" tests
+#
+${PNAME} -i raymarine -f ${REFERENCE}/raymarine-sample.rwf -o gpx -F ${TMPDIR}/raymarine-sample.gpx
+compare ${TMPDIR}/raymarine-sample.gpx ${REFERENCE}/raymarine-sample.gpx
+${PNAME} -i gpx -f ${REFERENCE}/expertgps.gpx -o raymarine -F ${TMPDIR}/expertgps.rwf
+compare ${TMPDIR}/expertgps.rwf ${REFERENCE}/expertgps.rwf
+
+
+#
+# Alan MAp500 waypoint & route test
+#
+rm -f ${TMPDIR}/alanwpr*
+${PNAME} -i alanwpr -f ${REFERENCE}/alanwpr.wpr -o alanwpr -F ${TMPDIR}/alanwpr-new.wpr
+${PNAME} -i alanwpr -f ${TMPDIR}/alanwpr-new.wpr -o gpx -F ${TMPDIR}/alanwpr-new.gpx
+compare ${TMPDIR}/alanwpr-new.gpx ${REFERENCE}/alanwpr.gpx
+
+#
+# Alan Map500 tracklogs< test
+#
+rm -f ${TMPDIR}/alantrl*
+${PNAME} -i alantrl -f ${REFERENCE}/alantrl.trl -o alantrl -F ${TMPDIR}/alantrl-new.trl
+${PNAME} -i alantrl -f ${TMPDIR}/alantrl-new.trl -o gpx -F ${TMPDIR}/alantrl-new.gpx
+compare ${TMPDIR}/alantrl-new.gpx ${REFERENCE}/alantrl.gpx
exit 0
logpart = xml_findfirst( curlog, "groundspeak:date" );
if ( logpart ) {
- logtime = xml_parse_time( logpart->cdata );
+ logtime = xml_parse_time( logpart->cdata, NULL);
logtm = localtime( &logtime );
if ( logtm ) {
gbfprintf( file_out,
* the projection transformations. Some trig geek can finish that.
*/
#if CLICKMAP
-static FILE *linkf;
+static gbfile *linkf;
static char *clickmap = NULL;
#endif
gbfclose(urlf);
#if CLICKMAP
if (clickmap) {
- linkf = gbfopen(clickmap, "w", MY NAME);
+ linkf = gbfopen(clickmap, "w", MYNAME);
gbfprintf(linkf, "<map name=\"map\">\n");
waypt_disp_all(map_plot);
gbfprintf(linkf, "</map>\n");
getcap($1, $2, $3, $5)
' > @DOCDIR@capabilities.inc > @DOCDIR@capabilities.inc
+
+FMTS=`./gpsbabel -^2 | grep -v '^internal' | sed 's/\&/\&/' | awk -F'\t' '{print $3}'`
+for f in $FMTS
+do
+ [ ! -f @DOCDIR@/htmldoc-development/fmt_${f}.html ] && echo Missing doc for $f
+done
+
+exit 0
#!/bin/sh
#
+WEB=$1
+VERSION=$2
+RELEASE=$3
+
SPEC=gpsbabel.spec
TAR_IGNORE="--exclude CVS"
-VERSION=$1
-RELEASE=$2
if test -x /usr/bin/rpmbuild; then
RPM=rpmbuild
RPM=rpm
fi
-DIR=`pwd`
-TEMPDIR=/tmp/gpsbabel-rpm.$$
-mkdir -p $TEMPDIR
-trap "cd $DIR; rm -fr $TEMPDIR" 0 1 2 3 15
-
-function addspec()
-{
- echo "$*" >> $SPEC
-}
-
-# create spec file needed for rpm generation
-function mkspec()
-{
- local REL=`echo $RELEASE | sed 's/^-//'`
- test "$REL" == "" && REL=0
-
- echo -n "" > $SPEC # create the file
-
- addspec "Summary: GPSBabel"
- addspec "Name: gpsbabel"
- addspec "Version: $VERSION"
- addspec "Release: $REL"
- addspec "License: GPL"
- addspec "Group: File tools"
- addspec "Source: %{name}-%{version}.tar.bz2"
- addspec "BuildRoot: %{_tmppath}/%{name}-%{version}-build"
- addspec "URL: http://www.gpsbabel.org"
- addspec ""
-
- addspec "%description"
- addspec "Converts GPS waypoint, route and track data from one format type to another."
- addspec ""
-
- addspec "Authors:"
- addspec "--------"
-
- cat $DIR/AUTHORS >> gpsbabel.spec
-
- addspec ""
- addspec "%prep"
- addspec "%setup -q"
- addspec ""
-
- addspec "%build"
- addspec "./configure"
- addspec "make"
- addspec ""
- addspec "%install"
- addspec "rm -rf "
- addspec "mkdir -p %{buildroot}/usr/bin "
- addspec "install -m 555 gpsbabel %{buildroot}/usr/bin/gpsbabel "
- addspec ""
-
- addspec "%files"
- addspec "%defattr(-,root,root)"
- addspec "/usr/bin/gpsbabel"
- addspec "%doc README* COPYING CHANGELOG AUTHORS readme.xml"
- addspec ""
- addspec "%changelog"
-}
-
-cd $TEMPDIR
+test -f gpsbabel.html || exit 1
-ln -sf $DIR gpsbabel-$VERSION
-
-mkspec
-
-cat $DIR/../babelweb/changes.html | $DIR/tools/mkchangelog > gpsbabel-$VERSION/CHANGELOG
-cat gpsbabel-$VERSION/CHANGELOG >> gpsbabel.spec
-
-cp gpsbabel.spec gpsbabel-$VERSION/
-rm -f gpsbabel.spec
-
-tar -cj $TAR_IGNORE -f gpsbabel-$VERSION.tar.bz2 gpsbabel-$VERSION/.
-rm -f gpsbabel-$VERSION
-
-${RPM} -ta gpsbabel-$VERSION.tar.bz2
+SRC=`pwd`
+TEMPDIR=/tmp/gpsbabel-rpm.$$
-cd $DIR
+mkdir -p $TEMPDIR
+trap "rm -fr $TEMPDIR" 0 1 2 3 15
+
+mkdir -p $TEMPDIR/BUILD $TEMPDIR/RPMS $TEMPDIR/SPECS \
+ $TEMPDIR/SOURCES $TEMPDIR/SRPMS $TEMPDIR/TMP $TEMPDIR/install
+
+echo "Generate rpm spec file..."
+sh $SRC/tools/mkspec "$WEB" "$VERSION" "$RELEASE" > "$TEMPDIR/SPECS/gpsbabel.spec"
+cp -apr ./ $TEMPDIR/TMP/gpsbabel-$VERSION
+
+#
+pushd $TEMPDIR/TMP/gpsbabel-$VERSION
+echo "Cleaning source..."
+make more-clean > /dev/null 2>&1
+find . -type d -name CVS -exec rm -rf \{\} \; > /dev/null 2>&1
+find . -type d -name "autom4*" -exec rm -rf \{\} \; > /dev/null 2>&1
+
+echo "Add needed files..."
+cp -ap $SRC/gpsbabel.html ./
+cp -ap $SRC/CHANGELOG ./
+
+echo "Create rpm source tarball..."
+cd ..
+# --verbose
+tar --owner=0 --group=0 -czf ../SOURCES/gpsbabel-$VERSION.tgz gpsbabel-$VERSION
+echo "And now create rpm packages..."
+${RPM} -ba \
+ --define "_topdir $TEMPDIR" \
+ --define "buildroot $TEMPDIR/install" \
+ $TEMPDIR/SPECS/gpsbabel.spec
+find ../. -type f -name "*.rpm" -exec cp -apf \{\} /tmp/ \;
Track manipulation filter
- Copyright (C) 2005 Olaf Klein, o.b.klein@gpsbabel.org
+ Copyright (C) 2005-2006 Olaf Klein, o.b.klein@gpsbabel.org
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
2005-07-26: implemented move option
2005-07-26: implemented merge option
2005-07-29: warning fixes
- 2005-08-01: Add 'static' qualifier when we can (RJL)
- 2005-10-04: Add filterdefs to hold protos for filter functions... (RJL)
+ 2005-08-01: Add 'static' qualifier when we can (robertl)
+ 2005-10-04: Add filterdefs to hold protos for filter functions... (robertl)
2005-10-04: Fix range-check max. value; exit filter, if no more tracks left
- 2006-04-06: Add fix, course, and speed options
+ 2006-04-06: Add fix, course, and speed options (parkrrrr)
2006-06-01: Add name option
+ 2007-01-08: if not really needed disable check for valid timestamps
+ (based on patch from Vladimir Kondratiev)
*/
#include <ctype.h>
static int track_pts = 0;
static int opt_interval = 0;
static int opt_distance = 0;
+static char need_time; /* initialized within trackfilter_init */
/*******************************************************************************
* helpers
track_pts++;
wpt = (waypoint *)elem;
- if (wpt->creation_time == 0)
- fatal(MYNAME "-init: Found track point without time!\n");
+ is_fatal((need_time != 0) && (wpt->creation_time == 0),
+ MYNAME "-init: Found track point without time!");
i++;
if (i == 1)
if (i == track->rte_waypt_ct)
track_list[track_ct].last_time = wpt->creation_time;
- if ((prev != NULL) && (prev->creation_time > wpt->creation_time))
+ if ((need_time != 0) && (prev != NULL) && (prev->creation_time > wpt->creation_time))
{
if (opt_merge == NULL)
fatal(MYNAME "-init: Track points badly ordered (timestamp)!\n");
wpt = (waypoint *)elem;
buff[j++] = waypt_dupe(wpt);
track_del_wpt(track, wpt);
+ waypt_free(wpt);
}
if (track != master) /* i > 0 */
track_del_head(track);
waypoint *wpt;
queue *elem, *tmp;
int i, j;
- float interval = -1;
- float distance = -1;
+ double interval = -1;
+ double distance = -1;
if (count <= 1) return;
if (opt_interval != 0)
{
- float base;
+ double base;
char unit;
switch(strlen(opt_split))
break;
default:
- i = sscanf(opt_split,"%f%c", &interval, &unit);
+ i = sscanf(opt_split,"%lf%c", &interval, &unit);
if (i == 0)
{
/* test reverse order */
- i = sscanf(opt_split,"%c%f", &unit, &interval);
+ i = sscanf(opt_split,"%c%lf", &unit, &interval);
}
if ((i != 2) || (interval <= 0))
{
if (opt_distance != 0)
{
- float base;
+ double base;
char unit;
switch(strlen(opt_sdistance))
break;
default:
- i = sscanf(opt_sdistance,"%f%c", &distance, &unit);
+ i = sscanf(opt_sdistance,"%lf%c", &distance, &unit);
if (i == 0)
{
/* test reverse order */
- i = sscanf(opt_sdistance,"%c%f", &unit, &distance);
+ i = sscanf(opt_sdistance,"%c%lf", &unit, &distance);
}
if ((i != 2) || (distance <= 0))
{
if (interval > 0)
{
- float tr_interval = difftime(buff[j]->creation_time,buff[i]->creation_time);
+ double tr_interval = difftime(buff[j]->creation_time,buff[i]->creation_time);
if ( tr_interval <= interval )
new_track_flag = 0;
#ifdef TRACKF_DBG
}
if (curr != NULL)
{
- wpt = waypt_dupe(buff[j]);
- track_del_wpt(master, buff[j]);
+ wpt = buff[j];
+ track_del_wpt(master, wpt);
track_add_wpt(curr, wpt);
buff[j] = wpt;
}
if ((wpt->creation_time < start) || (wpt->creation_time > stop))
{
track_del_wpt(track, wpt);
+ waypt_free(wpt);
dropped++;
}
}
int count = track_count();
+/*
+ * check time presence only if required. Options that NOT require time:
+ *
+ * - opt_title (!!! only if no format specifier is present !!!)
+ * - opt_course
+ * - opt_name
+ */
+ need_time = (
+ opt_merge || opt_pack || opt_split || opt_sdistance ||
+ opt_move || opt_start || opt_stop || opt_fix || opt_speed ||
+ (trackfilter_opt_count() == 0) /* do pack by default */
+ );
+ /* in case of a formated title we also need valid timestamps */
+ if ((opt_title != NULL) && (strchr(opt_title, '%') != NULL)) need_time = 1;
+
track_ct = 0;
track_pts = 0;
/* check all tracks for time and order (except merging) */
track_disp_all(trackfilter_fill_track_list_cb, NULL, NULL);
- qsort(track_list, track_ct, sizeof(*track_list), trackfilter_init_qsort_cb);
+ if (need_time)
+ qsort(track_list, track_ct, sizeof(*track_list), trackfilter_init_qsort_cb);
}
}
transform_any_disp_wpt_cb(const waypoint *wpt)
{
waypoint *temp = waypt_dupe(wpt);
- waypt_add(temp);
+ if (current_target == 'R')
+ route_add_wpt(current_rte, temp);
+ else if (current_target == 'T')
+ track_add_wpt(current_trk, temp);
+ else
+ waypt_add(temp);
}
static void
int utmzcol; /* Zone */
int utmncol; /* Northing */
int utmecol; /* Easting */
+ int utmccol; /* Zone character */
} unicsv_fieldpos;
static double unicsv_altscale;
/* helpers */
-#define UNICSV_IS(f) (0 == strcmp(s, f))
+// #define UNICSV_IS(f) (0 == strcmp(s, f))
#define UNICSV_CONTAINS(f) (0 != strstr(s, f))
static void
if (UNICSV_CONTAINS("lat")) {
unicsv_fieldpos.latcol = i;
}
- else if (UNICSV_IS("lon") || UNICSV_CONTAINS("long")) {
+ else if (UNICSV_CONTAINS("lon")) {
unicsv_fieldpos.loncol = i;
}
else if (UNICSV_CONTAINS("desc")) {
unicsv_fieldpos.desccol = i;
}
- else if (UNICSV_IS("name")) {
+ else if (UNICSV_CONTAINS("name")) {
unicsv_fieldpos.namecol = i;
}
else if (UNICSV_CONTAINS("notes")) {
else if (UNICSV_CONTAINS("utm e")) {
unicsv_fieldpos.utmecol = i;
}
+ else if (UNICSV_CONTAINS("utm c")) {
+ unicsv_fieldpos.utmccol = i;
+ }
/* todo: speed, course, hdop, sat, date, time, maybe a few others */
}
}
int utmz = -9999;
double utme = 0;
double utmn = 0;
+ char utmc = 'N';
s = csv_lineparse(ibuf, unicsv_fieldsep, "\"", 0);
if (s == NULL) return;
wpt = waypt_new();
for (i=0; s; i++, s = csv_lineparse(NULL, unicsv_fieldsep, "\"", 0)) {
+ s = lrtrim(s);
if (i == unicsv_fieldpos.latcol) {
human_to_dec( s, &wpt->latitude, &wpt->longitude, 1 );
}
else if (i == unicsv_fieldpos.utmncol) {
utmn = atof(s);
}
+ else if (i == unicsv_fieldpos.utmccol) {
+ utmc = toupper(s[0]);
+ }
}
if (utmz != -9999) {
GPS_Math_UTM_EN_To_WGS84(&wpt->latitude, &wpt->longitude,
- utme, utmn, utmz, 'N');
+ utme, utmn, utmz, utmc);
}
waypt_add(wpt);
}
/*
* Allocate a string using a format list with optional arguments
+ * Returns -1 on error.
+ * If return value is anything else, *strp will be populated with an
+ * allocated string containging the formatted buffer.
+ *
+ * Freeing that is the responsbility of the caller.
*/
int
-xvasprintf(char **strp, const char *fmt, va_list args)
+xasprintf(char **strp, const char *fmt, ...)
{
- /* From http://perfec.to/vsnprintf/pasprintf.c */
+/* From http://perfec.to/vsnprintf/pasprintf.c */
/* size of first buffer malloc; start small to exercise grow routines */
-#define FIRSTSIZE 64
+#ifdef DEBUG_MEM
+# define FIRSTSIZE 64
+#else
+# define FIRSTSIZE 1
+#endif
char *buf = NULL;
int bufsize;
char *newbuf;
size_t nextsize = 0;
int outsize;
+ va_list args;
bufsize = 0;
for (;;) {
*strp = NULL;
return -1;
}
- bufsize = 1;
+ bufsize = FIRSTSIZE;
} else if ((newbuf = xrealloc(buf, nextsize)) != NULL) {
buf = newbuf;
bufsize = nextsize;
return -1;
}
+ va_start(args, fmt);
outsize = vsnprintf(buf, bufsize, fmt, args);
-
+ va_end(args);
+
if (outsize == -1) {
/* Clear indication that output was truncated, but no
* clear indication of how big buffer needs to be, so
break;
}
}
- *strp = buf;
- return 0;
-}
+ /* Prevent us from allocating millions of unused bytes. */
+ /* O.K.: I think this is not the final solution. */
+ if (bufsize > outsize + 1) {
+ const unsigned ptrsz = sizeof(buf);
+ if (((bufsize + ptrsz + 1) / ptrsz) > ((outsize + ptrsz + 1) / ptrsz))
+ buf = xrealloc(buf, outsize + 1);
-int
-xasprintf(char **strp, const char *fmt, ...)
-{
- va_list args;
- int rval;
-
- va_start(args, fmt);
- rval = xvasprintf(strp, fmt, args);
- va_end(args);
-
- return rval;
-
+ }
+ *strp = buf;
+ return outsize;
}
/*
{
char *c;
+ if (buff[0] == '\0')
+ return buff;
+
c = buff + strlen(buff);
while ((c >= buff) && ((unsigned char)*c <= ' ')) *c-- = '\0';
const char *
get_cache_icon(const waypoint *waypointp)
{
- if (global_opts.no_smart_icons)
+ if (!global_opts.smart_icons)
return NULL;
/*
return ret;
}
+float
+endian_read_float(void* ptr, int read_le)
+{
+ float ret;
+ char r[4];
+ void *p;
+ int i;
+
+ if ( i_am_little_endian == read_le ) {
+ p = ptr;
+ }
+ else {
+ for (i = 0; i < 4; i++)
+ {
+ r[i] = ((char*)ptr)[3-i];
+ }
+ p = r;
+ }
+
+ memcpy(&ret, p, 4);
+ return ret;
+}
+
void
endian_write_double(void* ptr, double d, int write_le)
{
}
}
-double
-pdb_read_double( void *ptr ) {return endian_read_double(ptr, 0);}
+void
+endian_write_float(void* ptr, float f, int write_le)
+{
+ char *r = (char *)(void *)&f;
+ int i;
+ char *optr = ptr;
-double
-le_read_double( void *ptr ) {return endian_read_double(ptr,1);}
+ if ( i_am_little_endian == write_le ) {
+ memcpy( ptr, &f, 4);
+ }
+ else {
+ for (i = 0; i < 4; i++)
+ {
+ *optr++ = r[3-i];
+ }
+ }
+}
-double
-be_read_double( void *ptr ) {return endian_read_double(ptr,0);}
+float
+le_read_float( void *ptr ) {return endian_read_float(ptr, 1);}
void
-pdb_write_double( void *ptr, double d ) {endian_write_double(ptr,d,0);}
+le_write_float( void *ptr, float f ) {endian_write_float(ptr,f,1);}
+
+float
+be_read_float( void *ptr ) {return endian_read_float(ptr, 0);}
+
+void
+be_write_float( void *ptr, float f ) {endian_write_float(ptr,f,0);}
+
+double
+le_read_double( void *ptr ) {return endian_read_double(ptr,1);}
void
le_write_double( void *ptr, double d ) {endian_write_double(ptr,d,1);}
-void
+double
+be_read_double( void *ptr ) {return endian_read_double(ptr,0);}
+
+void
be_write_double( void *ptr, double d ) {endian_write_double(ptr,d,0);}
+
/* Magellan and PCX formats use this DDMM.mm format */
double ddmm2degrees(double pcx_val) {
double minutes;
}
return result;
}
+
+char *get_filename(const char *fname)
+{
+ char *res, *cb, *cs;
+
+ cb = strrchr(fname, '\\');
+ cs = strrchr(fname, '/');
+
+ if (cb == NULL) res = cs;
+ else if (cs == NULL) res = cb;
+ else res = (cs > cb) ? cs : cb;
+
+ return (res == NULL) ? (char *) fname : ++res;
+}
#include "jeeps/gpsmath.h"
#include <ctype.h>
-static FILE *file_out;
+static gbfile *file_out;
static short_handle mkshort_handle;
static char *vcf_encrypt = NULL;
static void
wr_init(const char *fname)
{
- file_out = xfopen(fname, "w", MYNAME);
+ file_out = gbfopen(fname, "w", MYNAME);
mkshort_handle = mkshort_new_handle();
}
static void
wr_deinit(void)
{
- fclose(file_out);
+ gbfclose(file_out);
mkshort_del_handle(&mkshort_handle);
}
stripped_html = strip_html(s);
p = gstrsub(stripped_html, "\n", "\\n");
p2 = gstrsub(p, "<p>", "\\n");
- fputs(p2, file_out);
+ gbfputs(p2, file_out);
xfree(p);
xfree(p2);
xfree(stripped_html);
return;
p = gstrsub(s, "\n", "\\n");
- fputs(p, file_out);
+ gbfputs(p, file_out);
xfree(p);
}
lonint = abs((int) wpt->longitude);
latint = abs((int) wpt->latitude);
- fprintf(file_out, "BEGIN:VCARD\nVERSION:3.0\n");
- fprintf(file_out, "N:%s;%s;;;\n", wpt->description,wpt->shortname);
- fprintf(file_out, "ORG:%c%d %06.3f %c%d %06.3f\n", wpt->latitude < 0 ? 'S' : 'N', abs(latint), 60.0 * (fabs(wpt->latitude) - latint), wpt->longitude < 0 ? 'W' : 'E', abs(lonint), 60.0 * (fabs(wpt->longitude) - lonint));
+ gbfprintf(file_out, "BEGIN:VCARD\nVERSION:3.0\n");
+ gbfprintf(file_out, "N:%s;%s;;;\n", wpt->description,wpt->shortname);
+ gbfprintf(file_out, "ORG:%c%d %06.3f %c%d %06.3f\n", wpt->latitude < 0 ? 'S' : 'N', abs(latint), 60.0 * (fabs(wpt->latitude) - latint), wpt->longitude < 0 ? 'W' : 'E', abs(lonint), 60.0 * (fabs(wpt->longitude) - lonint));
if (wpt->url) {
- fprintf(file_out, "URL:%s\n", wpt->url);
+ gbfprintf(file_out, "URL:%s\n", wpt->url);
}
- fprintf(file_out, "NOTE:");
+ gbfprintf(file_out, "NOTE:");
vcf_print_utf(&wpt->gc_data.desc_short);
- fprintf(file_out, "\\n");
+ gbfprintf(file_out, "\\n");
vcf_print_utf(&wpt->gc_data.desc_long);
- fprintf(file_out, "\\n\\nHINT:\\n");
+ gbfprintf(file_out, "\\n\\nHINT:\\n");
if (vcf_encrypt) {
char *s = rot13(wpt->gc_data.hint);
vcf_print(s);
vcf_print(wpt->gc_data.hint);
}
- fprintf(file_out, "\nEND:VCARD\n");
+ gbfprintf(file_out, "\nEND:VCARD\n");
}
static void
extern ff_vecs_t wbt_fvecs;
extern ff_vecs_t gtc_vecs;
extern ff_vecs_t dmtlog_vecs;
+extern ff_vecs_t raymarine_vecs;
+extern ff_vecs_t alanwpr_vecs;
+extern ff_vecs_t alantrl_vecs;
static
vecs_t vec_list[] = {
"ESRI shapefile",
"shp"
},
+#endif
+#if PDBFMTS_ENABLED
{
&geoniche_vecs,
"geoniche",
"TrackLogs digital mapping (.trl)",
"trl"
},
+ {
+ &raymarine_vecs,
+ "raymarine",
+ "Raymarine Waypoint File (.rwf)",
+ "rwf"
+ },
+ {
+ &alanwpr_vecs,
+ "alanwpr",
+ "Alan Map500 waypoints and routes (.wpr)",
+ "wpr"
+ },
+ {
+ &alantrl_vecs,
+ "alantrl",
+ "Alan Map500 tracklogs (.trl)",
+ "trl"
+ },
{
NULL,
NULL,
*/
svp[i]->vec->args++;
}
-
+ memset(&svp[i]->vec->cap, 0, sizeof(svp[i]->vec->cap));
+ switch(xcsv_file.datatype) {
+ case 0:
+ case wptdata:
+ svp[i]->vec->cap[ff_cap_rw_wpt] = ff_cap_read | ff_cap_write; break;
+ case trkdata:
+ svp[i]->vec->cap[ff_cap_rw_trk] = ff_cap_read | ff_cap_write; break;
+ case rtedata:
+ svp[i]->vec->cap[ff_cap_rw_rte] = ff_cap_read | ff_cap_write; break;
+ default: ;
+ }
svp[i]->desc = xcsv_file.description;
svp[i]->parent = "xcsv";
}
tmStruct.tm_isdst =-1;
wpt_tmp->creation_time = mkgmtime(&tmStruct);
- wpt_tmp->centiseconds = fmod(100*seconds+0.5,100);
-
+ wpt_tmp->microseconds = fmod(1000000*seconds+0.5,1000000);
wpt_tmp->shortname =xcalloc(16,1);
snprintf(wpt_tmp->shortname, 15 , "WP%04d", ++serial);
position += sizeof(double);
tmstructp = gmtime(&waypointp->creation_time);
- seconds = (double) tmstructp->tm_sec + 0.01*waypointp->centiseconds;
+ seconds = (double) tmstructp->tm_sec + 0.0000001*waypointp->microseconds;
workbuffer[position++] =tmstructp->tm_year-100;
workbuffer[position++] =tmstructp->tm_mon+1;
* It's important that this duplicated waypoint not appear
* on the master Q.
*/
- tmp->Q.next = tmp->Q.prev = NULL;
+ QUEUE_INIT(&tmp->Q);
tmp->fs = fs_chain_copy( wpt->fs );
return tmp;
wpt->fix = fix_unknown;
wpt->sat = -1;
+ QUEUE_INIT(&wpt->Q);
return wpt;
}
wpt->longitude = lon;
wpt->altitude = alt;
wpt->creation_time = rtim;
- wpt->centiseconds = 0;
sprintf(wp_name, "WP%04d", ++st->wpn);
wpt->shortname = xstrdup(wp_name);
void wfff_first(const char *args, const char **unused)
{
if (args) {
- ap_first = xml_parse_time(args);
+ ap_first = xml_parse_time(args, NULL);
}
}
MajorVer=0\r
MinorVer=2\r
Release=6\r
-Build=0\r
+Build=1\r
Debug=0\r
PreRelease=0\r
Special=0\r
[Version Info Keys]\r
CompanyName=GPSBabel Makers\r
FileDescription=GPSBabel Windows Frontend\r
-FileVersion=0.2.6.0\r
+FileVersion=0.2.6.1\r
InternalName=\r
LegalCopyright=(C) 2005,2006 Olaf Klein (o.b.klein@gpsbabel.org)\r
LegalTrademarks=\r
cbReverse: TCheckBox;\r
cbWayptMergeDupNames: TCheckBox;\r
cbWayptMergeDistance: TCheckBox;\r
- cobWayptMergeDist: TComboBox;\r
+ cobWayptMergeDistUnit: TComboBox;\r
edWayptMergeDist: TEdit;\r
cbWayptSort: TCheckBox;\r
cbWayptMergeDups: TCheckBox;\r
BitBtn1: TBitBtn;\r
cbWayptRadius: TCheckBox;\r
edWayptRadius: TEdit;\r
- cobWayptRadius: TComboBox;\r
+ cobWayptRadiusUnit: TComboBox;\r
lbWayptRadiusLat: TLabel;\r
lbWayptRadiusLon: TLabel;\r
edWayptRadiusLat: TEdit;\r
edWayptRadiusLon: TEdit;\r
cbTrackRangeTimeZone: TCheckBox;\r
btnHelp: TBitBtn;\r
- cbTrackFixes: TCheckBox;\r
+ cbGPSfix: TCheckBox;\r
cbTrackCourse: TCheckBox;\r
cbTrackSpeed: TCheckBox;\r
gbTransform: TGroupBox;\r
- cobTransform: TComboBox;\r
+ cobTransformType: TComboBox;\r
cbTransform: TCheckBox;\r
cbTransformDelete: TCheckBox;\r
+ cobGPSfixes: TComboBox;\r
procedure cbTrackTimeClick(Sender: TObject);\r
procedure FormCreate(Sender: TObject);\r
procedure cbTrackTitleClick(Sender: TObject);\r
Shift: TShiftState);\r
procedure btnHelpClick(Sender: TObject);\r
procedure cbTransformClick(Sender: TObject);\r
+ procedure cbGPSfixClick(Sender: TObject);\r
private\r
{ Private-Deklarationen }\r
lTrackTimeList: TList;\r
begin\r
TranslateComponent(SELF);\r
\r
- cobTransform.Items.Clear;\r
- cobTransform.Items.Add(_('Waypoints') + ' -> ' + _('Routes'));\r
- cobTransform.Items.Add(_('Routes') + ' -> ' + _('Waypoints'));\r
- cobTransform.Items.Add(_('Routes') + ' -> ' + _('Tracks'));\r
- cobTransform.Items.Add(_('Tracks') + ' -> ' + _('Routes'));\r
- cobTransform.Items.Add(_('Waypoints') + ' -> ' + _('Tracks'));\r
- cobTransform.Items.Add(_('Tracks') + ' -> ' + _('Waypoints'));\r
- cobTransform.ItemIndex := 0;\r
+ cobTransformType.Items.Clear;\r
+ cobTransformType.Items.Add(_('Waypoints') + ' -> ' + _('Routes'));\r
+ cobTransformType.Items.Add(_('Routes') + ' -> ' + _('Waypoints'));\r
+ cobTransformType.Items.Add(_('Routes') + ' -> ' + _('Tracks'));\r
+ cobTransformType.Items.Add(_('Tracks') + ' -> ' + _('Routes'));\r
+ cobTransformType.Items.Add(_('Waypoints') + ' -> ' + _('Tracks'));\r
+ cobTransformType.Items.Add(_('Tracks') + ' -> ' + _('Waypoints'));\r
+ cobTransformType.ItemIndex := 0;\r
\r
CurrentTime := SysUtils.Now;\r
dtpTrackStartDate.DateTime := Int(CurrentTime);\r
FixPosition(udTimeSeconds, edTrackTimeSeconds, False);\r
FixPosition(lbTimeSeconds, udTimeSeconds, True);\r
\r
- FixPosition(lbWayptRadiusLat, cobWayptRadius, True);\r
+ FixPosition(lbWayptRadiusLat, cobWayptRadiusUnit, True);\r
FixPosition(edWayptRadiusLat, lbWayptRadiusLat, True);\r
FixPosition(lbWayptRadiusLon, edWayptRadiusLat, True);\r
FixPosition(edWayptRadiusLon, lbWayptRadiusLon, True);\r
\r
// will not be translated, fill by hand\r
\r
- cobWayptMergeDist.Items.Add(_('Feet'));\r
- cobWayptMergeDist.Items.Add(_('Meter'));\r
- cobWayptMergeDist.ItemIndex := 0;\r
+ cobWayptMergeDistUnit.Items.Add(_('Feet'));\r
+ cobWayptMergeDistUnit.Items.Add(_('Meter'));\r
+ cobWayptMergeDistUnit.ItemIndex := 0;\r
\r
- cobWayptRadius.Items.Add(_('Miles'));\r
- cobWayptRadius.Items.Add(_('Kilometer'));\r
- cobWayptRadius.ItemIndex := 0;\r
+ cobWayptRadiusUnit.Items.Add(_('Miles'));\r
+ cobWayptRadiusUnit.Items.Add(_('Kilometer'));\r
+ cobWayptRadiusUnit.ItemIndex := 0;\r
\r
dtpTrackStopTime.Time := 1 - (1.0 / (24*60*60));\r
\r
\r
if not(gpsbabel_knows_inifile) then\r
begin\r
- cbTrackFixes.Enabled := False;\r
+ cbGPSfix.Enabled := False;\r
cbTrackCourse.Enabled := False;\r
cbTrackSpeed.Enabled := False;\r
+ cobGPSfixes.Enabled := False;\r
end;\r
\r
LoadSettingsFromRegistry();\r
if gbTransform.Enabled and cbTransform.Checked then\r
begin\r
Result := Format('%s -x %s', [Result, 'transform,']);\r
- case cobTransform.ItemIndex of\r
+ case cobTransformType.ItemIndex of\r
0: Result := Result + 'rte=wpt';\r
1: Result := Result + 'wpt=rte';\r
2: Result := Result + 'trk=rte';\r
if cbWayptMergeDistance.Checked then\r
begin\r
Result := Format('%s -x position,distance=%s', [Result, edWayptMergeDist.Text]);\r
- if (cobWayptMergeDist.ItemIndex = 0) then\r
+ if (cobWayptMergeDistUnit.ItemIndex = 0) then\r
Result := Result + 'f' else\r
Result := Result + 'm';\r
end;\r
if cbWayptRadius.Checked then\r
begin\r
Result := Format('%s -x radius,distance=%s', [Result, edWayptRadius.Text]);\r
- if (cobWayptRadius.ItemIndex = 0) then\r
+ if (cobWayptRadiusUnit.ItemIndex = 0) then\r
Result := Result + 'M' else\r
Result := Result + 'K';\r
Result := Format('%s,lat=%s,lon=%s', [Result, edWayptRadiusLat.Text, edWayptRadiusLon.Text]);\r
Result,\r
FormatDateTime('yyyymmddhhnnss', dt)]);\r
end;\r
- if cbTrackFixes.Checked then\r
- Result := Format('%s,fix', [Result]);\r
+ if cbGPSfix.Checked then\r
+ Result := Format('%s,fix=%s', [Result, cobGPSfixes.Text]);\r
if cbTrackCourse.Checked then\r
Result := Format('%s,course', [Result]);\r
if cbTrackSpeed.Checked then\r
procedure TfrmFilter.cbWayptMergeDistanceClick(Sender: TObject);\r
begin\r
edWayptMergeDist.Enabled := cbWayptMergeDistance.Checked;\r
- cobWayptMergeDist.Enabled := cbWayptMergeDistance.Checked;\r
+ cobWayptMergeDistUnit.Enabled := cbWayptMergeDistance.Checked;\r
end;\r
\r
procedure TfrmFilter.cbWayptMergeDupsClick(Sender: TObject);\r
procedure TfrmFilter.cbWayptRadiusClick(Sender: TObject);\r
begin\r
edWayptRadius.Enabled := cbWayptRadius.Checked;\r
- cobWayptRadius.Enabled := cbWayptRadius.Checked;\r
+ cobWayptRadiusUnit.Enabled := cbWayptRadius.Checked;\r
edWayptRadiusLat.Enabled := cbWayptRadius.Checked;\r
edWayptRadiusLon.Enabled := cbWayptRadius.Checked;\r
end;\r
end;\r
CanClose :=\r
ValidateNumerical(edWayptRadius, 0, 99999) and\r
- ValidateNumerical(edWayptRadiusLat, -180, 180) and\r
- ValidateNumerical(edWayptRadiusLon, -90, 90) and\r
+ ValidateNumerical(edWayptRadiusLat, -90, 90) and\r
+ ValidateNumerical(edWayptRadiusLon, -180, 180) and\r
ValidateNumerical(edWayptMergeDist, 0, 99999999) and\r
ValidateNumerical(edRoutesSimplifyMaxPoints, 1, 9999);\r
ChangeCheckBoxesChecked(Self, False);\r
if (c is TCheckbox) then\r
r.WriteBool('filter:' + Copy(c.Name, 3, 256), TCheckBox(c).Checked)\r
else if (c is TEdit) then\r
- r.WriteString('filter:' + Copy(c.Name, 3, 256), TEdit(c).Text);\r
+ r.WriteString('filter:' + Copy(c.Name, 3, 256), TEdit(c).Text)\r
+ else if (c is TCombobox) then\r
+ r.WriteString('filter:' + Copy(c.Name, 4, 256), IntToStr(TCombobox(c).ItemIndex));\r
end;\r
finally\r
r.Free;\r
r: TRegistry;\r
s: string;\r
u: TUpDown;\r
- \r
+\r
function ReadString(R: TRegistry; const Key, Def: string): string;\r
begin\r
if R.ValueExists(Key) then\r
u.Position := StrToInt(s)\r
else\r
TEdit(c).Text := s;\r
+ end\r
+ else if (c is TCombobox) then\r
+ begin\r
+ s := ReadString(r, 'filter:' + Copy(c.Name, 4, 256), '0');\r
+ TCombobox(c).ItemIndex := StrToIntDef(s, 0);\r
end;\r
except\r
on E: Exception do ;\r
\r
procedure TfrmFilter.cbTransformClick(Sender: TObject);\r
begin\r
- cobTransform.Enabled := cbTransform.Checked;\r
+ cobTransformType.Enabled := cbTransform.Checked;\r
+end;\r
+\r
+procedure TfrmFilter.cbGPSfixClick(Sender: TObject);\r
+begin\r
+ cobGPSfixes.Enabled := cbGPSfix.Checked;\r
end;\r
\r
end.\r
--- /dev/null
+#\r
+msgid ""\r
+msgstr ""\r
+"Project-Id-Version: GPSBabelGUI-2\n"\r
+"POT-Creation-Date: 2005-12-06 17:57\n"\r
+"PO-Revision-Date: 2006-11-01 20:07+0100\n"\r
+"Last-Translator: Daniel Díaz <Daniel.Diaz.Quintero@gmail.com>\n"\r
+"MIME-Version: 1.0\n"\r
+"Content-Type: text/plain; charset=UTF-8\n"\r
+"Content-Transfer-Encoding: 8bit\n"\r
+"X-Generator: dxgettext 1.2.1\n"\r
+"Language-Team: Daniel Díaz <Daniel.Diaz.Quintero@gmail.com>\n"\r
+"X-Poedit-Language: Spanish\n"\r
+"X-Poedit-Country: SPAIN\n"\r
+\r
+#. frmAbout..Caption\r
+#: about.dfm:5\r
+msgid "About"\r
+msgstr "Acerca de..."\r
+\r
+#. frmAbout..pnClient..pnCenter..lbHint1..Caption\r
+#: about.dfm:76\r
+msgid "This program is part of the GPSBabel project, hosted on"\r
+msgstr "Este programa forma parte del proyecto GPSBabel, alojado en"\r
+\r
+#. frmAbout..pnClient..pnCenter..lbVersion..Caption\r
+#: about.dfm:84\r
+#: about.pas:80\r
+msgid "Version"\r
+msgstr "Versión"\r
+\r
+#. frmAbout..pnClient..pnCenter..lbTranslators..Caption\r
+#: about.dfm:91\r
+msgid "Translations"\r
+msgstr "Traducciones"\r
+\r
+#. frmAbout..pnClient..pnCenter..lbURL..Caption\r
+#: about.dfm:98\r
+msgid "www.gpsbabel.org"\r
+msgstr "www.gpsbabel.org"\r
+\r
+#. frmAbout..pnClient..pnCenter..lbCopyRight..Caption\r
+#: about.dfm:114\r
+msgid "Copyright (C) 2005,2006 Olaf Klein (o.b.klein@gpsbabel.org)"\r
+msgstr ""\r
+\r
+#. frmAbout..pnClient..pnCenter..lbMoreInfo..Caption\r
+#: about.dfm:121\r
+msgid "Find more info at"\r
+msgstr "Más información en"\r
+\r
+#. frmAbout..pnClient..pnCenter..stDescription..Caption\r
+#: about.dfm:149\r
+msgid "The frontend for GPSBabel command line program"\r
+msgstr "Frontal para línea de comandos de GPSBabel"\r
+\r
+#. frmAbout..pnClient..pnCenter..stLicense..Caption\r
+#: about.dfm:163\r
+msgid "THIS SOFTWARE MAY ONLY BE LICENSED FREE OF CHARGE"\r
+msgstr "ESTE SOFTWARE SOLO PUEDE TENER LICENCIA GRATUITA"\r
+\r
+#. frmAbout..pnClient..pnCenter..btnNewLanguage..Caption\r
+#: about.dfm:192\r
+msgid "Adding a new language"\r
+msgstr "Añadir un nuevo lenguaje"\r
+\r
+#. frmFilter..Caption\r
+#: filter.dfm:6\r
+msgid "Filter"\r
+msgstr "Filtro"\r
+\r
+#. frmFilter..gbTracks..Caption\r
+#. frmMain..pnBottom..cbTracks..Caption\r
+#: filter.dfm:31\r
+#: main.dfm:581\r
+msgid "&Tracks"\r
+msgstr "&Trazas"\r
+\r
+#. frmFilter..gbTracks..lbTimePlusMinus..Caption\r
+#: filter.dfm:39\r
+#: about.pas:87\r
+#: about.pas:88\r
+#: about.pas:89\r
+msgid "by"\r
+msgstr "por"\r
+\r
+#. frmFilter..gbTracks..lbTimeDays..Caption\r
+#: filter.dfm:46\r
+msgid "day(s), "\r
+msgstr "dia(s)"\r
+\r
+#. frmFilter..gbTracks..lbTimeHours..Caption\r
+#: filter.dfm:53\r
+msgid "hour(s), "\r
+msgstr "hora(s)"\r
+\r
+#. frmFilter..gbTracks..lbTimeMinutes..Caption\r
+#: filter.dfm:60\r
+msgid "minute(s),"\r
+msgstr "minuto(s)"\r
+\r
+#. frmFilter..gbTracks..lbTimeSeconds..Caption\r
+#: filter.dfm:67\r
+msgid "second(s)"\r
+msgstr "segundo(s)"\r
+\r
+#. frmFilter..gbTracks..cbTrackTitle..Hint\r
+#: filter.dfm:74\r
+msgid "Title for new tracks"\r
+msgstr "Nombre para nuevas trazas"\r
+\r
+#. frmFilter..gbTracks..cbTrackTitle..Caption\r
+#: filter.dfm:76\r
+msgid "Tit&le"\r
+msgstr "&Nombre"\r
+\r
+#. frmFilter..gbTracks..cbTrackSplit..Hint\r
+#: filter.dfm:95\r
+msgid "Split track into several tracks depending on date of trackpoint"\r
+msgstr "Dividir en varias trazas pedendiendo de la fecha de los puntos de información"\r
+\r
+#. frmFilter..gbTracks..cbTrackSplit..Caption\r
+#: filter.dfm:96\r
+msgid "&Split"\r
+msgstr "&Dividir"\r
+\r
+#. frmFilter..gbTracks..cbTrackTime..Hint\r
+#: filter.dfm:104\r
+msgid "Shift all tracks"\r
+msgstr "Desplazar todas las trazas"\r
+\r
+#. frmFilter..gbTracks..cbTrackTime..Caption\r
+#: filter.dfm:105\r
+msgid "&Move"\r
+msgstr "&Mover"\r
+\r
+#. frmFilter..gbTracks..cbTrackStart..Hint\r
+#: filter.dfm:197\r
+msgid "Take only trackpoints starting at"\r
+msgstr "Recuperar registros de trazado que empiecen el"\r
+\r
+#. frmFilter..gbTracks..cbTrackStart..Caption\r
+#: filter.dfm:198\r
+msgid "Start at"\r
+msgstr "Empezar el"\r
+\r
+#. frmFilter..gbTracks..cbTrackStop..Caption\r
+#: filter.dfm:237\r
+msgid "stop at"\r
+msgstr "parar el"\r
+\r
+#. frmFilter..gbTracks..cbTrackPack..Hint\r
+#: filter.dfm:276\r
+msgid "Pack all tracks into one track (No duplicate timestamps)"\r
+msgstr "Agrupar todas las trazas en una sola (Sin fechas duplicadas)"\r
+\r
+#. frmFilter..gbTracks..cbTrackPack..Caption\r
+#: filter.dfm:277\r
+msgid "&Pack (or)"\r
+msgstr "&Agrupar(o)"\r
+\r
+#. frmFilter..gbTracks..cbTrackMerge..Hint\r
+#: filter.dfm:286\r
+msgid "Merge all tracks into one track"\r
+msgstr "Mezclar todas las trazas en una sola"\r
+\r
+#. frmFilter..gbTracks..cbTrackMerge..Caption\r
+#: filter.dfm:287\r
+msgid "Merge"\r
+msgstr "Mezclar"\r
+\r
+#. frmFilter..gbTracks..cbTrackRangeTimeZone..Hint\r
+#: filter.dfm:296\r
+msgid "Shift start/stop by local timezone offset"\r
+msgstr "Desplazar inicio/fin según diferencia horaria local"\r
+\r
+#. frmFilter..gbTracks..cbTrackRangeTimeZone..Caption\r
+#: filter.dfm:297\r
+msgid "TZ"\r
+msgstr "TZ"\r
+\r
+#. frmFilter..gbTracks..cbTrackFixes..Hint\r
+#: filter.dfm:306\r
+msgid "Synthesize GPS fixes (PPS, DGPS, 3D, 2D)"\r
+msgstr ""\r
+\r
+#. frmFilter..gbTracks..cbTrackFixes..Caption\r
+#: filter.dfm:307\r
+msgid "GPS fixes"\r
+msgstr ""\r
+\r
+#. frmFilter..gbTracks..cbTrackCourse..Hint\r
+#: filter.dfm:315\r
+msgid "Synthesize course values"\r
+msgstr "Sintetizar los valores del curso"\r
+\r
+#. frmFilter..gbTracks..cbTrackCourse..Caption\r
+#: filter.dfm:316\r
+msgid "Course"\r
+msgstr "Curso"\r
+\r
+#. frmFilter..gbTracks..cbTrackSpeed..Hint\r
+#: filter.dfm:324\r
+msgid "Synthesize speed values"\r
+msgstr "Sintetizar los valores de la velocidad"\r
+\r
+#. frmFilter..gbTracks..cbTrackSpeed..Caption\r
+#: filter.dfm:325\r
+msgid "Speed"\r
+msgstr "Rutas"\r
+\r
+#. frmFilter..gbRoutes..Caption\r
+#: filter.dfm:335\r
+msgid "&Routes && Tracks"\r
+msgstr "&Rutas && Trazas"\r
+\r
+#. frmFilter..gbRoutes..lbRouteSimplifyCount..Caption\r
+#: filter.dfm:343\r
+msgid "limit to"\r
+msgstr "limitar a"\r
+\r
+#. frmFilter..gbRoutes..lbRouteSimplifyText..Caption\r
+#: filter.dfm:351\r
+msgid "Points"\r
+msgstr "Puntos"\r
+\r
+#. frmFilter..gbRoutes..cbRouteSimplify..Hint\r
+#: filter.dfm:358\r
+msgid "Simplify routes and tracks by limited number of points"\r
+msgstr "Simplificar rutas y trazas limitando el número de puntos"\r
+\r
+#. frmFilter..gbRoutes..cbRouteSimplify..Caption\r
+#: filter.dfm:359\r
+msgid "Simplify"\r
+msgstr "Simplificar"\r
+\r
+#. frmFilter..gbRoutes..edRoutesSimplifyMaxPoints..Hint\r
+#: filter.dfm:368\r
+msgid "Upper limit of points for routes and tracks"\r
+msgstr "Aumentar número de puntos para rutas y trazas"\r
+\r
+#. frmFilter..gbRoutes..cbReverse..Hint\r
+#: filter.dfm:390\r
+msgid "Reverse routes and tracks"\r
+msgstr "Rutas y trazas inversas"\r
+\r
+#. frmFilter..gbRoutes..cbReverse..Caption\r
+#: filter.dfm:391\r
+msgid "Reverse"\r
+msgstr "Inverso"\r
+\r
+#. frmFilter..pnBottom..btnOK..Caption\r
+#: filter.dfm:408\r
+msgid "OK"\r
+msgstr "OK"\r
+\r
+#. frmFilter..pnBottom..BitBtn1..Caption\r
+#: filter.dfm:444\r
+msgid "File based filters"\r
+msgstr "Archivos de filtros"\r
+\r
+#. frmFilter..gbWaypoints..Caption\r
+#. frmMain..pnBottom..cbWaypoints..Caption\r
+#: filter.dfm:473\r
+#: main.dfm:555\r
+msgid "&Waypoints"\r
+msgstr "&Registros de trazado"\r
+\r
+#. frmFilter..gbWaypoints..lbWayptRadiusLat..Caption\r
+#: filter.dfm:482\r
+msgid "Latitude"\r
+msgstr "Latitud"\r
+\r
+#. frmFilter..gbWaypoints..lbWayptRadiusLon..Caption\r
+#: filter.dfm:490\r
+msgid "Longitude"\r
+msgstr "Longitud"\r
+\r
+#. frmFilter..gbWaypoints..cbWayptMergeDupLoc..Hint\r
+#: filter.dfm:498\r
+msgid "Merge waypoints with duplicate locations"\r
+msgstr "Mezclar registros de trazado con ubicaciones duplicadas"\r
+\r
+#. frmFilter..gbWaypoints..cbWayptMergeDupLoc..Caption\r
+#: filter.dfm:499\r
+msgid "locations"\r
+msgstr "ubicaciones"\r
+\r
+#. frmFilter..gbWaypoints..cbWayptMergeDupNames..Hint\r
+#: filter.dfm:508\r
+msgid "Merge waypoints with duplicate \"short name\""\r
+msgstr "Mezclar registros de trazado duplicados con \"nombre corto\""\r
+\r
+#. frmFilter..gbWaypoints..cbWayptMergeDupNames..Caption\r
+#: filter.dfm:509\r
+msgid "\"short names\""\r
+msgstr "\"nombre corto\""\r
+\r
+#. frmFilter..gbWaypoints..cbWayptMergeDistance..Hint\r
+#: filter.dfm:518\r
+msgid "Merge waypoints separated by less then"\r
+msgstr "Mezclar registros de trazado menores cuando"\r
+\r
+#. frmFilter..gbWaypoints..cbWayptMergeDistance..Caption\r
+#: filter.dfm:519\r
+msgid "Position"\r
+msgstr "Posición"\r
+\r
+#. frmFilter..gbWaypoints..cbWayptSort..Hint\r
+#: filter.dfm:547\r
+msgid "Sort waypoints by \"short name\" or by description"\r
+msgstr "Ordenar registros de trazado por \"nombre corto\" o por descripción"\r
+\r
+#. frmFilter..gbWaypoints..cbWayptSort..Caption\r
+#: filter.dfm:548\r
+msgid "Sort"\r
+msgstr "Ordenar"\r
+\r
+#. frmFilter..gbWaypoints..cbWayptMergeDups..Hint\r
+#: filter.dfm:556\r
+msgid "Merge duplicate waypoints"\r
+msgstr "Mezclar registros de trazado duplicados"\r
+\r
+#. frmFilter..gbWaypoints..cbWayptMergeDups..Caption\r
+#: filter.dfm:557\r
+msgid "Duplicates"\r
+msgstr "Duplicados"\r
+\r
+#. frmFilter..gbWaypoints..cbWayptRadius..Hint\r
+#: filter.dfm:566\r
+msgid "Include points based on their proximity to central point"\r
+msgstr "Incluir puntos basándose en la proximidad a un punto central"\r
+\r
+#. frmFilter..gbWaypoints..cbWayptRadius..Caption\r
+#: filter.dfm:567\r
+msgid "Radius"\r
+msgstr "Radio"\r
+\r
+#. frmFilter..gbWaypoints..edWayptRadiusLat..Hint\r
+#: filter.dfm:595\r
+msgid "Latitude of central point"\r
+msgstr "Latitud del punto central"\r
+\r
+#. frmFilter..gbWaypoints..edWayptRadiusLon..Hint\r
+#: filter.dfm:605\r
+msgid "Longitude of central point"\r
+msgstr "Longitud del punto central"\r
+\r
+#. frmFilter..gbTransform..Caption\r
+#: filter.dfm:617\r
+msgid "Transformation"\r
+msgstr ""\r
+\r
+#. frmFilter..gbTransform..cbTransform..Caption\r
+#: filter.dfm:634\r
+msgid "Transform"\r
+msgstr ""\r
+\r
+#. frmFilter..gbTransform..cbTransformDelete..Hint\r
+#: filter.dfm:643\r
+msgid "Delete source data after transformation"\r
+msgstr ""\r
+\r
+#. frmFilter..gbTransform..cbTransformDelete..Caption\r
+#: filter.dfm:644\r
+msgid "Delete"\r
+msgstr "Eliminar"\r
+\r
+#. frmMain..pnTop..gbInput..Caption\r
+#: main.dfm:38\r
+#: main.pas:270\r
+#: main.pas:275\r
+#: main.pas:471\r
+#: main.pas:872\r
+msgid "Input"\r
+msgstr "Entrada"\r
+\r
+#. frmMain..pnTop..gbInput..sbOpenFile..Hint\r
+#: main.dfm:45\r
+msgid "Start the file open dialog"\r
+msgstr "Iniciar el cuadro de diálogo de abrir archivo"\r
+\r
+#. frmMain..pnTop..gbInput..lbInputOpts..Caption\r
+#. frmMain..pnTop..gbOutput..lbOutputOpts..Caption\r
+#. frmMain..ActionList1..acOptionsSourceFormat..Category\r
+#. frmMain..ActionList1..acOptionsTargetFormat..Category\r
+#. frmMain..ActionList1..acOptionsEnableCharactersetTransformation..Category\r
+#: main.dfm:68\r
+#: main.dfm:229\r
+#: main.dfm:1418\r
+#: main.dfm:1423\r
+#: main.dfm:1437\r
+msgid "Options"\r
+msgstr "Opciones"\r
+\r
+#. frmMain..pnTop..gbInput..lbInputFormat..Caption\r
+#. frmMain..pnTop..gbOutput..lbOutputFormat..Caption\r
+#: main.dfm:76\r
+#: main.dfm:259\r
+msgid "Format"\r
+msgstr "Formato"\r
+\r
+#. frmMain..pnTop..gbInput..lbInputFile..Caption\r
+#. frmMain..pnTop..gbOutput..lbOutputFile..Caption\r
+#. frmMain..ActionList1..acFileExit..Category\r
+#. frmMain..ActionList1..acFileClearMemo..Category\r
+#. frmMain..ActionList1..acFileOutputToScreen..Category\r
+#. frmMain..ActionList1..acFileChangeLanguage..Category\r
+#. frmMain..ActionList1..acFileExportCSV..Category\r
+#: main.dfm:83\r
+#: main.dfm:266\r
+#: main.dfm:1399\r
+#: main.dfm:1428\r
+#: main.dfm:1443\r
+#: main.dfm:1455\r
+#: main.dfm:1460\r
+#: main.pas:869\r
+#: main.pas:923\r
+msgid "File"\r
+msgstr "Archivo"\r
+\r
+#. frmMain..pnTop..gbInput..chbInputDevice..Hint\r
+#: main.dfm:112\r
+msgid "Read data from device instead from file"\r
+msgstr "Leer datos del dispositivo en vez de archivo"\r
+\r
+#. frmMain..pnTop..gbInput..chbInputDevice..Caption\r
+#. frmMain..pnTop..gbOutput..chbOutputDevice..Caption\r
+#: main.dfm:115\r
+#: main.dfm:299\r
+msgid "Device"\r
+msgstr "Dispositivo"\r
+\r
+#. frmMain..pnTop..gbInput..edInputOpts..Hint\r
+#: main.dfm:124\r
+msgid "Options for the selected input format"\r
+msgstr "Opciones de formato de la entrada seleccionada"\r
+\r
+#. frmMain..pnTop..gbInput..edInputFile..Hint\r
+#: main.dfm:135\r
+msgid "Read data from given filename"\r
+msgstr "Leer datos del archivo facilitado"\r
+\r
+#. frmMain..pnTop..gbInput..cbInputLang..Hint\r
+#: main.dfm:146\r
+msgid "Characterset for input data"\r
+msgstr "Juego de caracteres para la entrada"\r
+\r
+#. frmMain..pnTop..gbInput..cbInputLang....Items.Strings\r
+#. frmMain..pnTop..gbOutput..cbOutputLang....Items.Strings\r
+#: main.dfm:152\r
+#: main.dfm:363\r
+msgid "- default -"\r
+msgstr "- por defecto -"\r
+\r
+#. frmMain..pnTop..gbInput..cbInputDevice..Hint\r
+#: main.dfm:179\r
+msgid "Read data from device ..."\r
+msgstr "Leer datos del dispositivo ..."\r
+\r
+#. frmMain..pnTop..gbInput..cbInputFormatDevice..Hint\r
+#: main.dfm:194\r
+msgid "Format for input from device"\r
+msgstr "Formato del dispositivo de entrada"\r
+\r
+#. frmMain..pnTop..gbInput..cbInputFormat..Hint\r
+#: main.dfm:208\r
+msgid "Format for input from file"\r
+msgstr "Formato del archivo de entrada"\r
+\r
+#. frmMain..pnTop..gbOutput..Caption\r
+#: main.dfm:222\r
+#: main.pas:271\r
+#: main.pas:276\r
+#: main.pas:480\r
+#: main.pas:926\r
+msgid "Output"\r
+msgstr "Salida"\r
+\r
+#. frmMain..pnTop..gbOutput..sbSaveFile..Hint\r
+#: main.dfm:273\r
+msgid "Start the file save dialog"\r
+msgstr "Iniciar el cuadro de diálogo de guardar en archivo"\r
+\r
+#. frmMain..pnTop..gbOutput..chbOutputDevice..Hint\r
+#: main.dfm:296\r
+msgid "Write data to device instead to file"\r
+msgstr "Escribir datos en el dispositivo en vez de archivo"\r
+\r
+#. frmMain..pnTop..gbOutput..cbOutputFormatDevice..Hint\r
+#: main.dfm:309\r
+msgid "Format for ouput to device"\r
+msgstr "Formato del dispositivo de salida"\r
+\r
+#. frmMain..pnTop..gbOutput..edOutputOpts..Hint\r
+#: main.dfm:321\r
+msgid "Options for the selected output format"\r
+msgstr "Opciones para el formato de salida seleccionado"\r
+\r
+#. frmMain..pnTop..gbOutput..cbOutputFormat..Hint\r
+#: main.dfm:332\r
+msgid "Format for output to file"\r
+msgstr "Formato del archivo de salida"\r
+\r
+#. frmMain..pnTop..gbOutput..edOutputFile..Hint\r
+#: main.dfm:345\r
+msgid "Write data to given filename"\r
+msgstr "Escribir datos al archivo seleccionado"\r
+\r
+#. frmMain..pnTop..gbOutput..cbOutputLang..Hint\r
+#: main.dfm:357\r
+msgid "Characterset for output data"\r
+msgstr "Juego de caracteres para los datos de salida"\r
+\r
+#. frmMain..pnTop..gbOutput..cbOutputDevice..Hint\r
+#: main.dfm:390\r
+msgid "Write data to device ..."\r
+msgstr "Escribir datos al dispositivo ..."\r
+\r
+#. frmMain..pnBottom..lbWhat..Caption\r
+#: main.dfm:415\r
+msgid "What ?"\r
+msgstr "¿Qué?"\r
+\r
+#. frmMain..pnBottom..cbWaypoints..Hint\r
+#: main.dfm:554\r
+msgid "Process waypoint information"\r
+msgstr "Información del proceso de registros de trazado"\r
+\r
+#. frmMain..pnBottom..cbRoutes..Hint\r
+#: main.dfm:568\r
+msgid "Process route information"\r
+msgstr "Información del proceso de rutas"\r
+\r
+#. frmMain..pnBottom..cbRoutes..Caption\r
+#: main.dfm:569\r
+msgid "&Routes"\r
+msgstr "&Rutas"\r
+\r
+#. frmMain..pnBottom..cbTracks..Hint\r
+#: main.dfm:580\r
+msgid "Process track information"\r
+msgstr "Información del proceso de trazas"\r
+\r
+#. frmMain..pnBottom..btnFilter..Caption\r
+#. frmMain..ActionList1..acFilterSelect..Caption\r
+#: main.dfm:594\r
+#: main.dfm:1393\r
+msgid "&Filter"\r
+msgstr "&Filtrar"\r
+\r
+#. frmMain..pnBottom..btnProcess..Hint\r
+#: main.dfm:638\r
+msgid "Start data conversion"\r
+msgstr "Empezar la conversión datos"\r
+\r
+#. frmMain..pnBottom..btnProcess..Caption\r
+#. frmMain..ActionList1..acConvert..Caption\r
+#: main.dfm:641\r
+#: main.dfm:1386\r
+msgid "let's go"\r
+msgstr "iniciar"\r
+\r
+#. frmMain..OpenDialog..Filter\r
+#: main.dfm:701\r
+msgid "Garmin Mapsource mps|*.mps|All files|*.*"\r
+msgstr "Garmin Mapsource mps|*.mps|Todos los archivos|*.*"\r
+\r
+#. frmMain..SaveDialog..Filter\r
+#: main.dfm:707\r
+msgid "All file(s)|*.*|Garmin MapSource mps|*.mps"\r
+msgstr "Todos los archivos|*.*|Garmin Mapsource mps|*.mps"\r
+\r
+#. frmMain..ActionList1..acConvert..Category\r
+#. frmMain..ActionList1..acFilterSelect..Category\r
+#: main.dfm:1385\r
+#: main.dfm:1392\r
+msgid "Babel"\r
+msgstr "Babel"\r
+\r
+#. frmMain..ActionList1..acFilterSelect..Hint\r
+#: main.dfm:1394\r
+msgid "Filter incomming data before writing them to file or device"\r
+msgstr "Filtrar los datos de entrada antes de guardarlos a archivo o dispositivo"\r
+\r
+#. frmMain..ActionList1..acFileExit..Caption\r
+#: main.dfm:1400\r
+msgid "E&xit"\r
+msgstr "&Salir"\r
+\r
+#. frmMain..ActionList1..acHelpAbout..Category\r
+#. frmMain..ActionList1..acHelpIntro..Category\r
+#. frmMain..ActionList1..acHelpReadme..Category\r
+#: main.dfm:1404\r
+#: main.dfm:1409\r
+#: main.dfm:1413\r
+msgid "Help"\r
+msgstr "A&yuda"\r
+\r
+#. frmMain..ActionList1..acHelpAbout..Caption\r
+#: main.dfm:1405\r
+msgid "&About"\r
+msgstr "&Acerca de"\r
+\r
+#. frmMain..ActionList1..acHelpIntro..Caption\r
+#: main.dfm:1410\r
+msgid "&Intro"\r
+msgstr "&Introducción"\r
+\r
+#. frmMain..ActionList1..acHelpReadme..Caption\r
+#. frmReadme..Caption\r
+#: main.dfm:1414\r
+#: readme.dfm:6\r
+msgid "GPSBabel README"\r
+msgstr "GPSBabel README"\r
+\r
+#. frmMain..ActionList1..acOptionsSourceFormat..Caption\r
+#: main.dfm:1419\r
+msgid "... for source format"\r
+msgstr "... para formato origen"\r
+\r
+#. frmMain..ActionList1..acOptionsTargetFormat..Caption\r
+#: main.dfm:1424\r
+msgid "... for target format"\r
+msgstr "... para formato destino"\r
+\r
+#. frmMain..ActionList1..acFileClearMemo..Caption\r
+#: main.dfm:1429\r
+msgid "Clear output"\r
+msgstr "Limpiar salida"\r
+\r
+#. frmMain..ActionList1..acFileClearMemo..Hint\r
+#: main.dfm:1430\r
+msgid "Clear messages"\r
+msgstr "Limpiar mensajes"\r
+\r
+#. frmMain..ActionList1..acOptionsEnableCharactersetTransformation..Caption\r
+#: main.dfm:1438\r
+msgid "Enable characterset transformation"\r
+msgstr "Habilitar transformación juego de caracteres"\r
+\r
+#. frmMain..ActionList1..acFileOutputToScreen..Caption\r
+#: main.dfm:1444\r
+msgid "Output to screen"\r
+msgstr "Salida a pantalla"\r
+\r
+#. frmMain..ActionList1..acFileChangeLanguage..Caption\r
+#: main.dfm:1456\r
+msgid "Change language"\r
+msgstr "Seleccionar lenguaje"\r
+\r
+#. frmMain..ActionList1..acFileExportCSV..Caption\r
+#: main.dfm:1461\r
+msgid "Export gpsbabel.csv (unicode)"\r
+msgstr "Exportar a gpsbabel.csv (unicode)"\r
+\r
+#. frmMain..MainMenu1..mnuFile..Caption\r
+#: main.dfm:1469\r
+msgid "&File"\r
+msgstr "&Archivo"\r
+\r
+#. frmMain..MainMenu1..mnuFile..File1..Caption\r
+#: main.dfm:1477\r
+msgid "Export"\r
+msgstr "Exportar"\r
+\r
+#. frmMain..MainMenu1..mnuOptions..Caption\r
+#: main.dfm:1498\r
+msgid "&Options"\r
+msgstr "&Opciones"\r
+\r
+#. frmMain..MainMenu1..mnuOptions..mnuSynthesizeShortNames..Caption\r
+#: main.dfm:1500\r
+msgid "Synthesize shortnames"\r
+msgstr "Agrupar nombres cortos"\r
+\r
+#. frmMain..MainMenu1..mnuOptions..mnuSynthesizeShortNames....Hint\r
+#: main.dfm:1503\r
+msgid "Ignore shortnames from source data and synthesize them from description or notes"\r
+msgstr "Ignorar nombres cortos del origen y agruparlos desde las descripciones o notas"\r
+\r
+#. frmMain..MainMenu1..mnuOptions..mnuOptionsForceDataType..Caption\r
+#: main.dfm:1507\r
+msgid "Force selected GPS data types (nuketypes filter)"\r
+msgstr "Forzar tipos de datos del GPS seleccionado (filtro nuketipes)"\r
+\r
+#. frmMain..MainMenu1..mnuHelp..Caption\r
+#: main.dfm:1548\r
+msgid "&Help"\r
+msgstr "&Ayuda"\r
+\r
+#. frmOptions..Caption\r
+#: options.dfm:5\r
+msgid "Options for ..."\r
+msgstr "Opciones de ..."\r
+\r
+#. frmSelect..pnBottom..btnCancel..Caption\r
+#: select.dfm:66\r
+msgid "Abort"\r
+msgstr "Interrumpir"\r
+\r
+#: about.pas:87\r
+#: select.pas:81\r
+msgid "German"\r
+msgstr "Alemán"\r
+\r
+#: about.pas:88\r
+#: select.pas:83\r
+msgid "French"\r
+msgstr "Francés"\r
+\r
+#: about.pas:89\r
+#: select.pas:82\r
+msgid "Spanish"\r
+msgstr "Español"\r
+\r
+#: about.pas:131\r
+msgid ""\r
+"Please have a look at the file README.GUI.\n"\r
+"\n"\r
+"There you will find all information you need to\n"\r
+"get GPSBabelGUI working in your own language."\r
+msgstr ""\r
+"Por favor lea el archivo README.GUI.\n"\r
+"\n"\r
+"Allí encontrará toda la inforamción que necesita\n"\r
+"para ejecutar GPSBabelGUI en su propio lenguaje."\r
+\r
+#: filter.pas:178\r
+#: filter.pas:179\r
+#: filter.pas:182\r
+#: filter.pas:183\r
+msgid "Waypoints"\r
+msgstr "Registros de trazado"\r
+\r
+#: filter.pas:178\r
+#: filter.pas:179\r
+#: filter.pas:180\r
+#: filter.pas:181\r
+msgid "Routes"\r
+msgstr "Rutas"\r
+\r
+#: filter.pas:180\r
+#: filter.pas:181\r
+#: filter.pas:182\r
+#: filter.pas:183\r
+msgid "Tracks"\r
+msgstr "Trazas"\r
+\r
+#: filter.pas:222\r
+msgid "Feet"\r
+msgstr "Pie"\r
+\r
+#: filter.pas:223\r
+msgid "Meter"\r
+msgstr "Metro"\r
+\r
+#: filter.pas:226\r
+msgid "Miles"\r
+msgstr "Milla"\r
+\r
+#: filter.pas:227\r
+msgid "Kilometer"\r
+msgstr "Kilómetro"\r
+\r
+#: filter.pas:237\r
+msgid "Not supported by gpsbabel.exe, release %s!"\r
+msgstr "¡No soportado por gpsbabel.exe, versión %s!"\r
+\r
+#: filter.pas:285\r
+msgid "Value (%s) out of range (%g to %g)!"\r
+msgstr "¡Valor (%s) fuera de rango (de %g a %g)!"\r
+\r
+#: filter.pas:590\r
+#: options.pas:661\r
+msgid "Discard changes?"\r
+msgstr "¿Descartar cambios?"\r
+\r
+#: main.pas:244\r
+msgid "Internal development release"\r
+msgstr "Versión en desarrollo interno"\r
+\r
+#: main.pas:246\r
+msgid "BETA"\r
+msgstr "BETA"\r
+\r
+#: main.pas:248\r
+msgid "Private release"\r
+msgstr "Versión privada"\r
+\r
+#: main.pas:250\r
+msgid "Special release"\r
+msgstr "Versión especial"\r
+\r
+#: main.pas:346\r
+msgid "The file \"gpsbabel.exe\" found in current directory is too old!"\r
+msgstr "¡El archivo \"gpsbabel.exe\" encontrado en el directorio es obsoleto!"\r
+\r
+#: main.pas:420\r
+#: main.pas:554\r
+msgid "All files|*.*"\r
+msgstr "Todos los archivo|*.*"\r
+\r
+#: main.pas:488\r
+msgid "Select and edit options for \"%s\""\r
+msgstr "Seleccionar y editar opciones para \"%s\""\r
+\r
+#: main.pas:492\r
+msgid "No options available for \"%s\""\r
+msgstr "No hay opciones disponibles para \"%s\""\r
+\r
+#. s := s + '-1';\r
+#: main.pas:607\r
+msgid "File %s not found."\r
+msgstr "No se encontró el archivo %s."\r
+\r
+#: main.pas:668\r
+msgid "File \"%s\" exists ! Overwrite ?"\r
+msgstr "El archivo \"%s\" ya existe ¿sobreescribir?"\r
+\r
+#: main.pas:669\r
+msgid "Warning"\r
+msgstr "Precaución"\r
+\r
+#: main.pas:702\r
+msgid "Could not run \"gpsbabel.exe\"!"\r
+msgstr "¡No se puede ejecutar \"gpsbabel.exe\"!"\r
+\r
+#: main.pas:711\r
+msgid "Sorry, gpsbabel.exe reported problems!"\r
+msgstr "¡Perdón, gpsbabel.exe indicó algún problema!"\r
+\r
+#: main.pas:713\r
+msgid "Converted successfully from \"%s\" to \"%s\"."\r
+msgstr "Conversión correcta de \"%s\" to \"%s\"."\r
+\r
+#: main.pas:824\r
+msgid "GPSBabel, version %s"\r
+msgstr "GPSBabel, versión %s"\r
+\r
+#: main.pas:858\r
+#: main.pas:913\r
+msgid "Port"\r
+msgstr "Puerto"\r
+\r
+#: main.pas:1017\r
+msgid "Options for \"%s\""\r
+msgstr "Opciones para \"%s\""\r
+\r
+#: main.pas:1207\r
+#: main.pas:1277\r
+msgid "Choose language"\r
+msgstr "Elejir lenguaje"\r
+\r
+#: main.pas:1207\r
+msgid "for GUIBabelGUI"\r
+msgstr "para GUIBabelGUI"\r
+\r
+#: main.pas:1277\r
+msgid "for export"\r
+msgstr "para exportar"\r
+\r
+#. override;\r
+#: options.pas:147\r
+msgid "Be aware, that most options are made for the output side. "\r
+msgstr "Tenga precaución, la mayoría de las opciones están pensadas para la salida."\r
+\r
+#: options.pas:148\r
+msgid "Currently we don't have a flag which tells us which direction is used by the options."\r
+msgstr "Ahora mismo no hay seleccionada opción alguna que indique en que dirección se aplican las opciones."\r
+\r
+#: options.pas:208\r
+msgid "Short \"%s\""\r
+msgstr "Ordenar \"%s\""\r
+\r
+#: options.pas:332\r
+msgid "Invalid line format!"\r
+msgstr "¡Formato de línea invalido!"\r
+\r
+#: options.pas:353\r
+msgid "Unknown option \"%s\"!"\r
+msgstr "¡Opción \"%s\" desconocida!"\r
+\r
+#: select.pas:84\r
+msgid "English"\r
+msgstr "Inglés"\r
+\r
+#: utils.pas:119\r
+msgid "Error WINAPI: Could not create \"NamedPipe\"!"\r
+msgstr "¡Error de WINAPI: No se pudo crear \"NamedPipe\"!"\r
+\r
+#: utils.pas:124\r
+msgid "\"gpsbabel.exe\" not found!!!"\r
+msgstr "¡¡¡ No se ha encontrado \"gpsbabel.exe\"!!!"\r
+\r
+#. dwCreationFlags, // creation flags\r
+#: utils.pas:143\r
+msgid "Could not run \"gpsbabel.exe\" (Error %d)!"\r
+msgstr "¡No se puede ejecutar \"gpsbabel.exe\" (Error %d)!"\r
+\r
+#: utils.pas:176\r
+msgid "\"gpsbabel.exe\" returned error 0x%x (%d)"\r
+msgstr "\"gpsbabel.exe\" devolvió el error 0x%x (%d)"\r
+\r
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: 2003-03-04 17:49\n"
+"PO-Revision-Date: 2005-10-25 08:14+0100\n"
+"Last-Translator: Jordi March <jmarch@comg.es>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Programmer's name for it: SInvalidCreateWidget\r
+#: Clx/QConsts.pas:22 \r
+msgid "Class %s could not create QT widget"
+msgstr "La clase %s no pudo crear el widget QT"
+
+#. Programmer's name for it: STooManyMessageBoxButtons\r
+#: Clx/QConsts.pas:23 \r
+msgid "Too many buttons specified for message box"
+msgstr "Demasiados botones especificados para la caja del mensaje"
+
+#. Programmer's name for it: SmkcBkSp\r
+#: Clx/QConsts.pas:25 \r
+msgid "Backspace"
+msgstr "Retroceso"
+
+#. Programmer's name for it: SmkcTab\r
+#. StandardActions..ActionList1..PreviousTab1..Category\r
+#. StandardActions..ActionList1..NextTab1..Category\r
+#: Clx/QConsts.pas:26 \r Vcl/Consts.pas:137 Vcl/ActnRes.dfm:244
+#: Vcl/ActnRes.dfm:249
+msgid "Tab"
+msgstr "Tab"
+
+#. Programmer's name for it: SmkcBackTab\r
+#: Clx/QConsts.pas:27 \r
+msgid "BackTab"
+msgstr "Tab Atrás"
+
+#. Programmer's name for it: SmkcEsc\r
+#: Clx/QConsts.pas:28 \r Vcl/Consts.pas:138
+msgid "Esc"
+msgstr "Esc"
+
+#. Programmer's name for it: SmkcReturn\r
+#: Clx/QConsts.pas:29 \r
+msgid "Return"
+msgstr "Retorno"
+
+#. Programmer's name for it: SmkcEnter\r
+#: Clx/QConsts.pas:30 \r Vcl/Consts.pas:139
+msgid "Enter"
+msgstr "Intro"
+
+#. Programmer's name for it: SmkcSpace\r
+#: Clx/QConsts.pas:31 \r Vcl/Consts.pas:140
+msgid "Space"
+msgstr "Espacio"
+
+#. Programmer's name for it: SmkcPgUp\r
+#: Clx/QConsts.pas:32 \r Vcl/Consts.pas:141
+msgid "PgUp"
+msgstr "Re Pág"
+
+#. Programmer's name for it: SmkcPgDn\r
+#: Clx/QConsts.pas:33 \r Vcl/Consts.pas:142
+msgid "PgDn"
+msgstr "Av Pág"
+
+#. Programmer's name for it: SmkcEnd\r
+#: Clx/QConsts.pas:34 \r Vcl/Consts.pas:143
+msgid "End"
+msgstr "Fin"
+
+#. Programmer's name for it: SmkcHome\r
+#. WebAppDbgMainForm..Home..Caption\r
+#: Clx/QConsts.pas:35 \r Vcl/Consts.pas:144 Internet/SvrMainForm.dfm:38
+msgid "Home"
+msgstr "Inicio"
+
+#. Programmer's name for it: SmkcLeft\r
+#: Clx/QConsts.pas:36 \r Vcl/Consts.pas:145
+msgid "Left"
+msgstr "Izq"
+
+#. Programmer's name for it: SmkcUp\r
+#: Clx/QConsts.pas:37 \r Vcl/Consts.pas:146
+msgid "Up"
+msgstr "Arriba"
+
+#. Programmer's name for it: SmkcRight\r
+#: Clx/QConsts.pas:38 \r Vcl/Consts.pas:147
+msgid "Right"
+msgstr "Der"
+
+#. Programmer's name for it: SmkcDown\r
+#: Clx/QConsts.pas:39 \r Vcl/Consts.pas:148
+msgid "Down"
+msgstr "Abajo"
+
+#. Programmer's name for it: SmkcIns\r
+#: Clx/QConsts.pas:40 \r Vcl/Consts.pas:149
+msgid "Ins"
+msgstr "Ins"
+
+#. Programmer's name for it: SmkcDel\r
+#: Clx/QConsts.pas:41 \r Vcl/Consts.pas:150
+msgid "Del"
+msgstr "Supr"
+
+#. Programmer's name for it: SmkcShift\r
+#: Clx/QConsts.pas:42 \r Vcl/Consts.pas:151
+msgid "Shift+"
+msgstr "Mayús+"
+
+#. Programmer's name for it: SmkcCtrl\r
+#: Clx/QConsts.pas:43 \r Vcl/Consts.pas:152
+msgid "Ctrl+"
+msgstr "Ctrl+"
+
+#. Programmer's name for it: SmkcAlt\r
+#: Clx/QConsts.pas:44 \r Vcl/Consts.pas:153
+msgid "Alt+"
+msgstr "Alt+"
+
+#. Programmer's name for it: SOpenFileTitle\r
+#. Programmer's name for it: SOpen\r
+#. Programmer's name for it: SOpenFileTitle\r
+#. ClxTreeViewItems..OpenDialog1..Title\r
+#. Title\r
+#. IndexFiles..OpenDialog..Title\r
+#: Clx/QConsts.pas:46 \r Clx/QConsts.pas:276 Vcl/Consts.pas:15 Property\r
+#: Editors/ClxNodeEdit.xfm:278 Editors/ClxPicEdit.xfm:111
+#: Editors/Ixedit.dfm:92
+msgid "Open"
+msgstr "Abrir"
+
+#. Programmer's name for it: SAssignError\r
+#: Clx/QConsts.pas:47 \r Rtl/Common/RTLConsts.pas:15
+msgid "Cannot assign a %s to a %s"
+msgstr "No puede asignarse %s a %s"
+
+#. Programmer's name for it: SFCreateError\r
+#. Programmer's name for it: SCannotCreateFile\r
+#. Programmer's name for it: SFCreateError\r
+#: Clx/QConsts.pas:48 \r Vcl/SqlConst.pas:121 Rtl/Common/RTLConsts.pas:27
+msgid "Cannot create file %s"
+msgstr "No puede crearse el archivo %s"
+
+#. Programmer's name for it: SFOpenError\r
+#: Clx/QConsts.pas:49 \r Rtl/Common/RTLConsts.pas:30
+msgid "Cannot open file %s"
+msgstr "No puede abrirse el archivo %s"
+
+#. Programmer's name for it: SReadError\r
+#: Clx/QConsts.pas:50 \r Rtl/Common/RTLConsts.pas:71
+msgid "Stream read error"
+msgstr "Hay un error de lectura del flujo"
+
+#. Programmer's name for it: SWriteError\r
+#: Clx/QConsts.pas:51 \r Rtl/Common/RTLConsts.pas:86
+msgid "Stream write error"
+msgstr "Hay un error de escritura del flujo"
+
+#. Programmer's name for it: SMemoryStreamError\r
+#: Clx/QConsts.pas:52 \r Rtl/Common/RTLConsts.pas:63
+msgid "Out of memory while expanding memory stream"
+msgstr "Sin memoria expandiendo el flujo de memoria"
+
+#. Programmer's name for it: SCantWriteResourceStreamError\r
+#: Clx/QConsts.pas:53 \r Vcl/Consts.pas:16 Rtl/Common/RTLConsts.pas:18
+msgid "Can't write to a read-only resource stream"
+msgstr "No se puede escribir sobre un flujo de recursos de solo lectura"
+
+#. Programmer's name for it: SDuplicateReference\r
+#: Clx/QConsts.pas:54 \r Vcl/Consts.pas:17
+msgid "WriteObject called twice for the same instance"
+msgstr "WriteObject llamado dos veces por la misma instancia"
+
+#. Programmer's name for it: SClassNotFound\r
+#: Clx/QConsts.pas:55 \r Rtl/Common/RTLConsts.pas:21
+msgid "Class %s not found"
+msgstr "Clase %s no encontrada"
+
+#. Programmer's name for it: SInvalidImage\r
+#. Programmer's name for it: SInvalidStreamFormat\r
+#. Programmer's name for it: SInvalidImage\r
+#: Clx/QConsts.pas:56 \r Vcl/OleConst.pas:29 Rtl/Common/RTLConsts.pas:43
+msgid "Invalid stream format"
+msgstr "Formato del flujo no válido"
+
+#. Programmer's name for it: SResNotFound\r
+#. Programmer's name for it: sResNotFound\r
+#. Programmer's name for it: SResNotFound\r
+#: Clx/QConsts.pas:57 \r Internet/WebConst.pas:33 Rtl/Common/RTLConsts.pas:77
+msgid "Resource %s not found"
+msgstr "Recurso %s no encontado"
+
+#. Programmer's name for it: SClassMismatch\r
+#: Clx/QConsts.pas:58 \r Vcl/Consts.pas:18
+msgid "Resource %s is of incorrect class"
+msgstr "El recurso %s es una clase incorrecta"
+
+#. Programmer's name for it: SListIndexError\r
+#: Clx/QConsts.pas:59 \r Rtl/Common/RTLConsts.pas:60
+msgid "List index out of bounds (%d)"
+msgstr "Indice de la lista fuera de rango (%d)"
+
+#. Programmer's name for it: SListCapacityError\r
+#: Clx/QConsts.pas:60 \r Rtl/Common/RTLConsts.pas:58
+msgid "List capacity out of bounds (%d)"
+msgstr "Desbordamiento de la capacidad de la lista (%d)"
+
+#. Programmer's name for it: SListCountError\r
+#: Clx/QConsts.pas:61 \r Rtl/Common/RTLConsts.pas:59
+msgid "List count out of bounds (%d)"
+msgstr "Desbordamiento del contador de la lista (%d)"
+
+#. Programmer's name for it: SSortedListError\r
+#: Clx/QConsts.pas:62 \r
+msgid "Operation not allowed on sorted string list"
+msgstr "Operación no soportada en una lista de cadenas ordenada"
+
+#. Programmer's name for it: SDuplicateString\r
+#: Clx/QConsts.pas:63 \r Rtl/Common/RTLConsts.pas:26
+msgid "String list does not allow duplicates"
+msgstr "La lista de cadenas no permite duplicados"
+
+#. Programmer's name for it: SInvalidTabIndex\r
+#: Clx/QConsts.pas:64 \r Vcl/Consts.pas:19
+msgid "Tab index out of bounds"
+msgstr "Indice de página fuera de rango"
+
+#. Programmer's name for it: SInvalidTabPosition\r
+#: Clx/QConsts.pas:65 \r Vcl/Consts.pas:20
+msgid "Tab position incompatible with current tab style"
+msgstr "Posición de página incompatible con el actual estilo de página"
+
+#. Programmer's name for it: SInvalidTabStyle\r
+#: Clx/QConsts.pas:66 \r Vcl/Consts.pas:21
+msgid "Tab style incompatible with current tab position"
+msgstr "Estilo de página incompatible con la actual posición de página"
+
+#. Programmer's name for it: SDuplicateName\r
+#: Clx/QConsts.pas:67 \r Rtl/Common/RTLConsts.pas:25
+msgid "A component named %s already exists"
+msgstr "Ya existe una componente de nombre %s"
+
+#. Programmer's name for it: SInvalidName\r
+#: Clx/QConsts.pas:68 \r Rtl/Common/RTLConsts.pas:46
+msgid "''%s'' is not a valid component name"
+msgstr "'%s' no es un nombre de componente válido"
+
+#. Programmer's name for it: SDuplicateClass\r
+#: Clx/QConsts.pas:69 \r Rtl/Common/RTLConsts.pas:23
+msgid "A class named %s already exists"
+msgstr "Ya existe una clase con nombre %s"
+
+#. Programmer's name for it: SInvalidInteger\r
+#: Clx/QConsts.pas:70 \r Rtl/Common/RTLConsts.pas:44
+msgid "''%s'' is not a valid integer value"
+msgstr "'%s' no es un valor entero válido"
+
+#. Programmer's name for it: SLineTooLong\r
+#. Programmer's name for it: SOutlineLongLine\r
+#. Programmer's name for it: SLineTooLong\r
+#: Clx/QConsts.pas:71 \r Vcl/Consts.pas:115 Rtl/Common/RTLConsts.pas:57
+msgid "Line too long"
+msgstr "Línea demasiado larga"
+
+#. Programmer's name for it: SInvalidPropertyValue\r
+#. Programmer's name for it: SInvalidProperty\r
+#. Programmer's name for it: SInvalidPropertyValue\r
+#: Clx/QConsts.pas:72 \r Clx/QConsts.pas:158 Rtl/Common/RTLConsts.pas:47
+#: Rtl/Common/RTLConsts.pas:51
+msgid "Invalid property value"
+msgstr "Valor de propiedad no válido"
+
+#. Programmer's name for it: SInvalidPropertyPath\r
+#: Clx/QConsts.pas:73 \r Rtl/Common/RTLConsts.pas:49
+msgid "Invalid property path"
+msgstr "Ruta de propiedad no válida"
+
+#. Programmer's name for it: SInvalidPropertyType\r
+#: Clx/QConsts.pas:74 \r Rtl/Common/RTLConsts.pas:50
+msgid "Invalid property type: %s"
+msgstr "Tipo de propiedad no válido: %s"
+
+#. Programmer's name for it: SInvalidPropertyElement\r
+#: Clx/QConsts.pas:75 \r Rtl/Common/RTLConsts.pas:48
+msgid "Invalid property element: %s"
+msgstr "Elemento de propiedad no válido: %s"
+
+#. Programmer's name for it: SUnknownProperty\r
+#: Clx/QConsts.pas:76 \r
+msgid "Property does not exist"
+msgstr "No existe la propiedad"
+
+#. Programmer's name for it: SReadOnlyProperty\r
+#: Clx/QConsts.pas:77 \r Rtl/Common/RTLConsts.pas:72
+msgid "Property is read-only"
+msgstr "La propiedad es de sólo lectura"
+
+#. Programmer's name for it: SPropertyException\r
+#: Clx/QConsts.pas:78 \r Rtl/Common/RTLConsts.pas:69
+msgid "Error reading %s%s%s: %s"
+msgstr "Se ha producido un error leyendo %s%s%s: %s"
+
+#. Programmer's name for it: SAncestorNotFound\r
+#: Clx/QConsts.pas:79 \r Rtl/Common/RTLConsts.pas:14
+msgid "Ancestor for '%s' not found"
+msgstr "No se ha encontrado predecesor para '%s'"
+
+#. Programmer's name for it: SInvalidBitmap\r
+#: Clx/QConsts.pas:80 \r Vcl/Consts.pas:22
+msgid "Bitmap image is not valid"
+msgstr "Imagen bitmap no válida"
+
+#. Programmer's name for it: SInvalidIcon\r
+#: Clx/QConsts.pas:81 \r Vcl/Consts.pas:23
+msgid "Icon image is not valid"
+msgstr "Imagen del icono no válido"
+
+#. Programmer's name for it: SInvalidPixelFormat\r
+#: Clx/QConsts.pas:82 \r Vcl/Consts.pas:25
+msgid "Invalid pixel format"
+msgstr "Formato de pixel no válido"
+
+#. Programmer's name for it: SBitmapEmpty\r
+#: Clx/QConsts.pas:83 \r Vcl/Consts.pas:27
+msgid "Bitmap is empty"
+msgstr "El bitmap está vacío"
+
+#. Programmer's name for it: SScanLine\r
+#: Clx/QConsts.pas:84 \r Vcl/Consts.pas:28
+msgid "Scan line index out of range"
+msgstr "Indice de la línea examinada fuera de rango"
+
+#. Programmer's name for it: SChangeIconSize\r
+#: Clx/QConsts.pas:85 \r Vcl/Consts.pas:29
+msgid "Cannot change the size of an icon"
+msgstr "No se puede cambiar el tamaño de un icono"
+
+#. Programmer's name for it: SUnknownExtension\r
+#: Clx/QConsts.pas:86 \r Vcl/Consts.pas:31
+msgid "Unknown picture file extension (.%s)"
+msgstr "Extensión de archivo de imagen (.%s) desconocida"
+
+#. Programmer's name for it: SUnknownClipboardFormat\r
+#: Clx/QConsts.pas:87 \r Vcl/Consts.pas:32
+msgid "Unsupported clipboard format"
+msgstr "Formato del portapapeles no soportado"
+
+#. Programmer's name for it: SOutOfResources\r
+#: Clx/QConsts.pas:88 \r Vcl/Consts.pas:33
+msgid "Out of system resources"
+msgstr "Sin recursos del sistema"
+
+#. Programmer's name for it: SNoCanvasHandle\r
+#: Clx/QConsts.pas:89 \r Vcl/Consts.pas:34
+msgid "Canvas does not allow drawing"
+msgstr "El canvas no permite dibujar"
+
+#. Programmer's name for it: SInvalidCanvasState\r
+#: Clx/QConsts.pas:90 \r
+msgid "Invalid canvas state request"
+msgstr "Petición del estado del canvas no válida"
+
+#. Programmer's name for it: SInvalidImageSize\r
+#: Clx/QConsts.pas:91 \r Vcl/Consts.pas:35
+msgid "Invalid image size"
+msgstr "Tamaño de imagen no válido"
+
+#. Programmer's name for it: SInvalidWidgetHandle\r
+#: Clx/QConsts.pas:92 \r
+msgid "Invalid widget handle"
+msgstr "Manejador (handle) widjet no válido"
+
+#. Programmer's name for it: SInvalidColorDepth\r
+#: Clx/QConsts.pas:93 \r
+msgid "Color depth must be 1, 8 or 32 bpp"
+msgstr "La profundidad del color debe ser 1, 8 o 32 bpp"
+
+#. Programmer's name for it: STooManyImages\r
+#: Clx/QConsts.pas:94 \r Vcl/Consts.pas:36
+msgid "Too many images"
+msgstr "Demasiadas imágenes"
+
+#. Programmer's name for it: SWidgetCreate\r
+#: Clx/QConsts.pas:95 \r
+msgid "Error creating widget"
+msgstr "Se ha producido un error creando widget"
+
+#. Programmer's name for it: SCannotFocus\r
+#: Clx/QConsts.pas:96 \r
+msgid "Cannot focus a disabled or invisible window (%s)"
+msgstr "No puede enfocarse una ventana deshabilitada o invisible (%s)"
+
+#. Programmer's name for it: SParentRequired\r
+#: Clx/QConsts.pas:97 \r
+msgid "Control '%s' has no parent widget"
+msgstr "El control '%s' no tiene un widget padre"
+
+#. Programmer's name for it: SParentGivenNotAParent\r
+#: Clx/QConsts.pas:98 \r Vcl/Consts.pas:49
+msgid "Parent given is not a parent of '%s'"
+msgstr "El padre dado no es un padre de '%s'"
+
+#. Programmer's name for it: SVisibleChanged\r
+#: Clx/QConsts.pas:99 \r Vcl/Consts.pas:51
+msgid "Cannot change Visible in OnShow or OnHide"
+msgstr "No es posible cambiar la visibilidad en OnShow u OnHide"
+
+#. Programmer's name for it: SCannotShowModal\r
+#: Clx/QConsts.pas:100 \r Vcl/Consts.pas:52
+msgid "Cannot make a visible window modal"
+msgstr "No se puede hacer visible una ventana modal"
+
+#. Programmer's name for it: SScrollBarRange\r
+#: Clx/QConsts.pas:101 \r Vcl/Consts.pas:53
+msgid "Scrollbar property out of range"
+msgstr "Propiedad Scrollbar fuera de rango"
+
+#. Programmer's name for it: SPropertyOutOfRange\r
+#: Clx/QConsts.pas:102 \r Vcl/Consts.pas:54
+msgid "%s property out of range"
+msgstr "Propiedad %s fuera de rango"
+
+#. Programmer's name for it: SMenuIndexError\r
+#: Clx/QConsts.pas:103 \r Vcl/Consts.pas:55
+msgid "Menu index out of range"
+msgstr "Indice de menú fuera de rango"
+
+#. Programmer's name for it: SMenuReinserted\r
+#: Clx/QConsts.pas:104 \r Vcl/Consts.pas:56
+msgid "Menu inserted twice"
+msgstr "Menú insertado dos veces"
+
+#. Programmer's name for it: SNoMenuRecursion\r
+#: Clx/QConsts.pas:105 \r
+msgid "Menu insertion recursion not allowed"
+msgstr "No está permitida la recursividad en la inserción del menú"
+
+#. Programmer's name for it: SMenuNotFound\r
+#: Clx/QConsts.pas:106 \r Vcl/Consts.pas:57
+msgid "Sub-menu is not in menu"
+msgstr "El sub-menú no se encuentra en un menú"
+
+#. Programmer's name for it: SMenuSetFormError\r
+#: Clx/QConsts.pas:107 \r
+msgid "TMenu.SetForm: argument must be TCustomForm"
+msgstr "TMenu.SetForm: el argumento debe ser TCustomForm"
+
+#. Programmer's name for it: SNoTimers\r
+#: Clx/QConsts.pas:108 \r Vcl/Consts.pas:58 Vcl/IBXConst.pas:187
+msgid "Not enough timers available"
+msgstr "No hay suficientes cronometradores disponibles"
+
+#. Programmer's name for it: SNotPrinting\r
+#: Clx/QConsts.pas:109 \r Vcl/Consts.pas:59 Rtl/Common/RTLConsts.pas:65
+msgid "Printer is not currently printing"
+msgstr "La impresora no se encuentra actualmente imprimiendo"
+
+#. Programmer's name for it: SPrinting\r
+#: Clx/QConsts.pas:110 \r Vcl/Consts.pas:60 Rtl/Common/RTLConsts.pas:70
+msgid "Printing in progress"
+msgstr "Impresión en progreso"
+
+#. Programmer's name for it: SNoAdapter\r
+#: Clx/QConsts.pas:111 \r
+msgid "No printer adapter available for printing"
+msgstr "No hay adaptador de impresora disponible para imprimir"
+
+#. Programmer's name for it: SPrinterIndexError\r
+#: Clx/QConsts.pas:112 \r Vcl/Consts.pas:61
+msgid "Printer index out of range"
+msgstr "Indice de impresora fuera de rango"
+
+#. Programmer's name for it: SInvalidPrinter\r
+#: Clx/QConsts.pas:113 \r Vcl/Consts.pas:62
+msgid "Printer selected is not valid"
+msgstr "La impresora seleccionada no es válida"
+
+#. Programmer's name for it: SDeviceOnPort\r
+#: Clx/QConsts.pas:114 \r Vcl/Consts.pas:63
+msgid "%s on %s"
+msgstr "%s en %s"
+
+#. Programmer's name for it: SGroupIndexTooLow\r
+#: Clx/QConsts.pas:115 \r Vcl/Consts.pas:64
+msgid "GroupIndex cannot be less than a previous menu item's GroupIndex"
+msgstr ""
+"GroupIndex no puede ser menor que el GroupIndex de un item del menú previo"
+
+#. Programmer's name for it: SNoMDIForm\r
+#: Clx/QConsts.pas:116 \r Vcl/Consts.pas:66
+msgid "Cannot create form. No MDI forms are currently active"
+msgstr ""
+"No se puede crear el formulario. Actualmente no hay formularios MDI activos"
+
+#. Programmer's name for it: SNotAnMDIForm\r
+#: Clx/QConsts.pas:117 \r
+msgid "Invalid MDIParent for class %s"
+msgstr "Padre MDI para la clase %s es no válido"
+
+#. Programmer's name for it: SMDIChildNotVisible\r
+#: Clx/QConsts.pas:118 \r Vcl/Consts.pas:50
+msgid "Cannot hide an MDI Child Form"
+msgstr "No se puede ocultar un formulario MDI Child"
+
+#. Programmer's name for it: SRegisterError\r
+#: Clx/QConsts.pas:119 \r Rtl/Common/RTLConsts.pas:75
+msgid "Invalid component registration"
+msgstr "Registro de componente no válido"
+
+#. Programmer's name for it: SImageCanvasNeedsBitmap\r
+#: Clx/QConsts.pas:120 \r Vcl/Consts.pas:67
+msgid "Can only modify an image if it contains a bitmap"
+msgstr "Sólo se puede modificar una imagen si contiene un bitmap"
+
+#. Programmer's name for it: SControlParentSetToSelf\r
+#: Clx/QConsts.pas:121 \r Vcl/Consts.pas:68
+msgid "A control cannot have itself as its parent"
+msgstr "Un control no puede referirse al él mismo como ancestro"
+
+#. Programmer's name for it: SOKButton\r
+#. Programmer's name for it: SMsgDlgOK\r
+#. Programmer's name for it: RSHTTPOK\r
+#. Programmer's name for it: SOKButton\r
+#. Programmer's name for it: SMsgDlgOK\r
+#. formAbout..btnOk..Caption\r
+#. IdPropEdBindingEntry..btnOk..Caption\r
+#. ClxIconViewItemsEditor..Button4..Caption\r
+#. ClxImageListEditor..OK..Caption\r
+#. ClxListViewItems..Button4..Caption\r
+#. ClxTreeViewItems..Button4..Caption\r
+#. Caption\r
+#. DSSCubeEditor..OKButton..Caption\r
+#. DSSQueryEditor..OKButton..Caption\r
+#. formAbout..Panel1..btnOk..Caption\r
+#. IdPropEdBindingEntry..btnOk..Caption\r
+#. DlgProperties..OkButton..Caption\r
+#. AboutBox..OKButton..Caption\r
+#. ConnEditForm..OkButton..Caption\r
+#. ClientDataForm..OkBtn..Caption\r
+#. DBEditForm..OkButton..Caption\r
+#. AddFields..OkBtn..Caption\r
+#. AssociateAttributes..OKBtn..Caption\r
+#. SaveAttributesAs..OKBtn..Caption\r
+#. DefineField..OkBtn..Caption\r
+#. LinkFields..Button1..Caption\r
+#. IndexFiles..Ok..Caption\r
+#. PictureEditorDlg..OKButton..Caption\r
+#. SQLEditForm..ButtonPanel..OkButton..Caption\r
+#. frmGeneratorEditor..OKBtn..Caption\r
+#. frmIBRestoreEditor..Panel1..OKBtn..Caption\r
+#. frmIBSecurityEditor..Panel1..OKBtn..Caption\r
+#. frmIBServiceEditor..Panel1..OKBtn..Caption\r
+#: Clx/QConsts.pas:122 \r Clx/QConsts.pas:170 Indy/IdResourceStrings.pas:62
+#: Vcl/Consts.pas:69 Vcl/Consts.pas:124 Indy/IdAbout.xfm:3333
+#: Indy/IdDsnPropEdBinding.xfm:53 Property\r Editors/ClxIconEdit.xfm:122
+#: Editors/ClxImgEdit.xfm:28 Editors/ClxItemEdit.xfm:148
+#: Editors/ClxNodeEdit.xfm:158 Editors/ClxPicEdit.xfm:104 Decision\r
+#: Cube/MXDCUBE.DFM:470 Cube/MXDSSQRY.DFM:323 Indy/IdAbout.dfm:68
+#: Indy/IdDsnPropEdBinding.dfm:47 Internet/SvrPropDlg.dfm:26
+#: Internet/WebAppDbgAbout.dfm:55 Editors/AdoConEd.dfm:19
+#: Editors/CDSEdit.dfm:39 Editors/Dbedit.dfm:140 Editors/DSAdd.dfm:24
+#: Editors/DSAttrA.dfm:18 Editors/DSAttrS.dfm:56 Editors/DSDefine.dfm:109
+#: Editors/FldLinks.DFM:141 Editors/Ixedit.dfm:64 Editors/PicEdit.dfm:22
+#: Editors/SqlEdit.dfm:94 Vcl/IBGeneratorEditor.dfm:51
+#: Vcl/IBRestoreEditor.dfm:51 Vcl/IBSecurityEditor.dfm:99
+#: Vcl/IBServiceEditor.dfm:122
+msgid "OK"
+msgstr "Aceptar"
+
+#. Programmer's name for it: SCancelButton\r
+#. Programmer's name for it: SMsgDlgCancel\r
+#. Programmer's name for it: SCancel\r
+#. Programmer's name for it: SCancelButton\r
+#. Programmer's name for it: SMsgDlgCancel\r
+#. LoginDialog..CancelButton..Caption\r
+#. PasswordDialog..CancelButton..Caption\r
+#. IdPropEdBindingEntry..btnCancel..Caption\r
+#. ClxIconViewItemsEditor..Cancel..Caption\r
+#. ClxImageListEditor..Cancel..Caption\r
+#. ClxListViewItems..Cancel..Caption\r
+#. ClxTreeViewItems..Cancel..Caption\r
+#. Caption\r
+#. ClxStrEditDlg..CancelButton..Caption\r
+#. DSSCubeEditor..CancelButton..Caption\r
+#. DSSQueryEditor..Cancel..Caption\r
+#. frmNewMessagePart..Panel2..btnCancel..Caption\r
+#. IdPropEdBindingEntry..btnCancel..Caption\r
+#. DlgProperties..CancelButton..Caption\r
+#. ConnEditForm..CancelButton..Caption\r
+#. ClientDataForm..CancelBtn..Caption\r
+#. DBEditForm..CancelButton..Caption\r
+#. InputReqDialog..CancelButton..Caption\r
+#. AddFields..CancelBtn..Caption\r
+#. AssociateAttributes..CancelBtn..Caption\r
+#. SaveAttributesAs..CancelBtn..Caption\r
+#. DefineField..CancelBtn..Caption\r
+#. LinkFields..Button2..Caption\r
+#. IndexFiles..Cancel..Caption\r
+#. PictureEditorDlg..CancelButton..Caption\r
+#. SQLEditForm..ButtonPanel..CancelButton..Caption\r
+#. StrEditDlg..CancelButton..Caption\r
+#. UpdateSQLEditForm..CancelButton..Caption\r
+#. LoginDialog..CancelButton..Caption\r
+#. PasswordDialog..CancelButton..Caption\r
+#. frmGeneratorEditor..CancelBtn..Caption\r
+#. frmIBRestoreEditor..Panel1..CancelBtn..Caption\r
+#. frmIBSecurityEditor..Panel1..CancelBtn..Caption\r
+#. frmIBServiceEditor..Panel1..CancelBtn..Caption\r
+#: Clx/QConsts.pas:123 \r Clx/QConsts.pas:171 Clx/QConsts.pas:282
+#: Vcl/Consts.pas:70 Vcl/Consts.pas:125 Clx/QDBLogDlg.xfm:31
+#: Clx/QDBPWDlg.xfm:33 Indy/IdDsnPropEdBinding.xfm:65 Property\r
+#: Editors/ClxIconEdit.xfm:133 Editors/ClxImgEdit.xfm:40
+#: Editors/ClxItemEdit.xfm:159 Editors/ClxNodeEdit.xfm:169
+#: Editors/ClxPicEdit.xfm:25 Editors/ClxStrEdit.xfm:54 Decision\r
+#: Cube/MXDCUBE.DFM:480 Cube/MXDSSQRY.DFM:313 Indy/IdDsnNewMessagePart.dfm:44
+#: Indy/IdDsnPropEdBinding.dfm:59 Internet/SvrPropDlg.dfm:38
+#: Editors/AdoConEd.dfm:30 Editors/CDSEdit.dfm:52 Editors/Dbedit.dfm:152
+#: Editors/dbinpreq.dfm:29 Editors/DSAdd.dfm:36 Editors/DSAttrA.dfm:30
+#: Editors/DSAttrS.dfm:67 Editors/DSDefine.dfm:121 Editors/FldLinks.DFM:153
+#: Editors/Ixedit.dfm:75 Editors/PicEdit.dfm:33 Editors/SqlEdit.dfm:106
+#: Editors/StrEdit.dfm:50 Editors/UpdSqlEd.dfm:32 Vcl/DBLOGDLG.dfm:32
+#: Vcl/DbPWDlg.dfm:31 Vcl/IBGeneratorEditor.dfm:62 Vcl/IBRestoreEditor.dfm:62
+#: Vcl/IBSecurityEditor.dfm:110 Vcl/IBServiceEditor.dfm:133
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. Programmer's name for it: SYesButton\r
+#. Programmer's name for it: SMsgDlgYes\r
+#. Programmer's name for it: SYesButton\r
+#. Programmer's name for it: SMsgDlgYes\r
+#: Clx/QConsts.pas:124 \r Clx/QConsts.pas:168 Vcl/Consts.pas:71
+#: Vcl/Consts.pas:122
+msgid "&Yes"
+msgstr "&Sí"
+
+#. Programmer's name for it: SNoButton\r
+#. Programmer's name for it: SMsgDlgNo\r
+#. Programmer's name for it: SNoButton\r
+#. Programmer's name for it: SMsgDlgNo\r
+#: Clx/QConsts.pas:125 \r Clx/QConsts.pas:169 Vcl/Consts.pas:72
+#: Vcl/Consts.pas:123
+msgid "&No"
+msgstr "&No"
+
+#. Programmer's name for it: SHelpButton\r
+#. Programmer's name for it: SMsgDlgHelp\r
+#. Programmer's name for it: SHelpButton\r
+#. Programmer's name for it: SMsgDlgHelp\r
+#. ClxIconViewItemsEditor..Button7..Caption\r
+#. ClxImageListEditor..Help..Caption\r
+#. ClxListViewItems..Button7..Caption\r
+#. ClxTreeViewItems..Help..Caption\r
+#. Caption\r
+#. ClxStrEditDlg..HelpButton..Caption\r
+#. DSSCubeEditor..HelpButton..Caption\r
+#. DSSQueryEditor..HelpButton..Caption\r
+#. WebAppDbgMainForm..MainMenu1..Help1..Caption\r
+#. DlgProperties..Button1..Caption\r
+#. ConnEditForm..HelpButton..Caption\r
+#. ClientDataForm..HelpBtn..Caption\r
+#. DBEditForm..HelpButton..Caption\r
+#. DataBindForm..HelpBtn..Caption\r
+#. AddFields..HelpBtn..Caption\r
+#. AssociateAttributes..HelpBtn..Caption\r
+#. SaveAttributesAs..HelpBtn..Caption\r
+#. DefineField..HelpBtn..Caption\r
+#. LinkFields..Help..Caption\r
+#. IndexFiles..Help..Caption\r
+#. PictureEditorDlg..HelpButton..Caption\r
+#. SQLEditForm..ButtonPanel..HelpButton..Caption\r
+#. StrEditDlg..HelpButton..Caption\r
+#. UpdateSQLEditForm..HelpButton..Caption\r
+#. frmIBRestoreEditor..Panel1..HelpBtn..Caption\r
+#. frmIBSecurityEditor..Panel1..HelpBtn..Caption\r
+#. frmIBServiceEditor..Panel1..HelpBtn..Caption\r
+#: Clx/QConsts.pas:126 \r Clx/QConsts.pas:172 Vcl/Consts.pas:73
+#: Vcl/Consts.pas:126 Property\r Editors/ClxIconEdit.xfm:153
+#: Editors/ClxImgEdit.xfm:143 Editors/ClxItemEdit.xfm:179
+#: Editors/ClxNodeEdit.xfm:189 Editors/ClxPicEdit.xfm:36
+#: Editors/ClxStrEdit.xfm:64 Decision\r Cube/MXDCUBE.DFM:491
+#: Cube/MXDSSQRY.DFM:333 Internet/SvrMainForm.dfm:199
+#: Internet/SvrPropDlg.dfm:207 Editors/AdoConEd.dfm:39 Editors/CDSEdit.dfm:61
+#: Editors/Dbedit.dfm:161 Editors/DbOleEdt.dfm:128 Editors/DSAdd.dfm:65
+#: Editors/DSAttrA.dfm:40 Editors/DSAttrS.dfm:77 Editors/DSDefine.dfm:130
+#: Editors/FldLinks.DFM:162 Editors/Ixedit.dfm:84 Editors/PicEdit.dfm:42
+#: Editors/SqlEdit.dfm:116 Editors/StrEdit.dfm:30 Editors/UpdSqlEd.dfm:41
+#: Vcl/IBRestoreEditor.dfm:71 Vcl/IBSecurityEditor.dfm:119
+#: Vcl/IBServiceEditor.dfm:142
+msgid "&Help"
+msgstr "Ay&uda"
+
+#. Programmer's name for it: SCloseButton\r
+#. LogDetail..ActionList1..CloseAction..Caption\r
+#. CustomizeFrm..CloseMenu..CloseItem..Caption\r
+#. SocketForm..PopupMenu..miClose..Caption\r
+#: Clx/QConsts.pas:127 \r Vcl/Consts.pas:74 Internet/SvrLogDetailDlg.dfm:80
+#: Vcl/CustomizeDlg.dfm:372 Vcl/ScktMain.dfm:319
+msgid "&Close"
+msgstr "&Cerrar"
+
+#. Programmer's name for it: SIgnoreButton\r
+#. Programmer's name for it: SMsgDlgIgnore\r
+#. Programmer's name for it: SIgnoreButton\r
+#. Programmer's name for it: SMsgDlgIgnore\r
+#: Clx/QConsts.pas:128 \r Clx/QConsts.pas:177 Vcl/Consts.pas:75
+#: Vcl/Consts.pas:131
+msgid "&Ignore"
+msgstr "&Ignorar"
+
+#. Programmer's name for it: SRetryButton\r
+#. Programmer's name for it: SMsgDlgRetry\r
+#. Programmer's name for it: SRetryButton\r
+#. Programmer's name for it: SMsgDlgRetry\r
+#: Clx/QConsts.pas:129 \r Clx/QConsts.pas:176 Vcl/Consts.pas:76
+#: Vcl/Consts.pas:130
+msgid "&Retry"
+msgstr "&Reintentar"
+
+#. Programmer's name for it: SAbortButton\r
+#: Clx/QConsts.pas:130 \r Vcl/Consts.pas:77
+msgid "Abort"
+msgstr "Abortar"
+
+#. Programmer's name for it: SAllButton\r
+#. Programmer's name for it: SMsgDlgAll\r
+#. Programmer's name for it: SAllButton\r
+#. Programmer's name for it: SMsgDlgAll\r
+#: Clx/QConsts.pas:131 \r Clx/QConsts.pas:178 Vcl/Consts.pas:78
+#: Vcl/Consts.pas:132
+msgid "&All"
+msgstr "&Todo"
+
+#. Programmer's name for it: SCannotDragForm\r
+#: Clx/QConsts.pas:133 \r Vcl/Consts.pas:80
+msgid "Cannot drag a form"
+msgstr "No se puede arrastrar un formulario"
+
+#. Programmer's name for it: SPutObjectError\r
+#: Clx/QConsts.pas:134 \r Vcl/Consts.pas:81
+msgid "PutObject to undefined item"
+msgstr "Elemento no definido para PutObject"
+
+#. Programmer's name for it: SFB\r
+#: Clx/QConsts.pas:136 \r Vcl/Consts.pas:90
+msgid "FB"
+msgstr "FB"
+
+#. Programmer's name for it: SFG\r
+#: Clx/QConsts.pas:137 \r Vcl/Consts.pas:91
+msgid "FG"
+msgstr "FG"
+
+#. Programmer's name for it: SBG\r
+#: Clx/QConsts.pas:138 \r Vcl/Consts.pas:92
+msgid "BG"
+msgstr "BG"
+
+#. Programmer's name for it: SVIcons\r
+#: Clx/QConsts.pas:139 \r Vcl/Consts.pas:96
+msgid "Icons"
+msgstr "Iconos"
+
+#. Programmer's name for it: SVBitmaps\r
+#: Clx/QConsts.pas:140 \r Vcl/Consts.pas:97
+msgid "Bitmaps"
+msgstr "Mapas de bit"
+
+#. Programmer's name for it: SVPixmaps\r
+#: Clx/QConsts.pas:141 \r
+msgid "Pixmaps"
+msgstr "Pixmaps"
+
+#. Programmer's name for it: SVPNGs\r
+#: Clx/QConsts.pas:142 \r
+msgid "PNGs"
+msgstr "PNGs"
+
+#. Programmer's name for it: SDrawings\r
+#: Clx/QConsts.pas:143 \r
+msgid "Drawings"
+msgstr "Dibujos"
+
+#. Programmer's name for it: SGridTooLarge\r
+#: Clx/QConsts.pas:144 \r Vcl/Consts.pas:98 Rtl/Common/RTLConsts.pas:31
+msgid "Grid too large for operation"
+msgstr "Rejilla demasiado grande para la operación"
+
+#. Programmer's name for it: STooManyDeleted\r
+#: Clx/QConsts.pas:145 \r Vcl/Consts.pas:99 Rtl/Common/RTLConsts.pas:83
+msgid "Too many rows or columns deleted"
+msgstr "Demasiadas filas o columnas eliminadas"
+
+#. Programmer's name for it: SIndexOutOfRange\r
+#: Clx/QConsts.pas:146 \r Vcl/Consts.pas:100 Rtl/Common/RTLConsts.pas:33
+msgid "Grid index out of range"
+msgstr "Indice de la rejilla fuera de rango"
+
+#. Programmer's name for it: SFixedColTooBig\r
+#: Clx/QConsts.pas:147 \r Vcl/Consts.pas:101 Rtl/Common/RTLConsts.pas:28
+msgid "Fixed column count must be less than column count"
+msgstr ""
+"El número de columnas fijas debe ser menor que el número total de columnas"
+
+#. Programmer's name for it: SFixedRowTooBig\r
+#: Clx/QConsts.pas:148 \r Vcl/Consts.pas:102 Rtl/Common/RTLConsts.pas:29
+msgid "Fixed row count must be less than row count"
+msgstr "El número de filas fijas debe ser menor que el número total de filas"
+
+#. Programmer's name for it: SInvalidStringGridOp\r
+#: Clx/QConsts.pas:149 \r Vcl/Consts.pas:103 Rtl/Common/RTLConsts.pas:54
+msgid "Cannot insert or delete rows from grid"
+msgstr "No se puede insertar o eliminar filas de la rejilla"
+
+#. Programmer's name for it: SParseError\r
+#: Clx/QConsts.pas:150 \r Rtl/Common/RTLConsts.pas:67
+msgid "%s on line %d"
+msgstr "%s en la linea %d"
+
+#. Programmer's name for it: SIdentifierExpected\r
+#: Clx/QConsts.pas:151 \r Rtl/Common/RTLConsts.pas:32
+msgid "Identifier expected"
+msgstr "Se esperaba un identificador"
+
+#. Programmer's name for it: SStringExpected\r
+#: Clx/QConsts.pas:152 \r Rtl/Common/RTLConsts.pas:80
+msgid "String expected"
+msgstr "Se esperaba una cadena"
+
+#. Programmer's name for it: SNumberExpected\r
+#: Clx/QConsts.pas:153 \r Rtl/Common/RTLConsts.pas:66
+msgid "Number expected"
+msgstr "Se esperaba un número"
+
+#. Programmer's name for it: SCharExpected\r
+#: Clx/QConsts.pas:154 \r Rtl/Common/RTLConsts.pas:19
+msgid "''%s'' expected"
+msgstr "Se esperaba '%s'"
+
+#. Programmer's name for it: SSymbolExpected\r
+#: Clx/QConsts.pas:155 \r Rtl/Common/RTLConsts.pas:81
+msgid "%s expected"
+msgstr "Se esperaba %s"
+
+#. Programmer's name for it: SInvalidNumber\r
+#: Clx/QConsts.pas:156 \r Vcl/Consts.pas:105
+msgid "Invalid numeric value"
+msgstr "Valor numérico no válido"
+
+#. Programmer's name for it: SInvalidString\r
+#: Clx/QConsts.pas:157 \r Rtl/Common/RTLConsts.pas:53
+msgid "Invalid string constant"
+msgstr "Constante de cadena no válida"
+
+#. Programmer's name for it: SInvalidBinary\r
+#: Clx/QConsts.pas:159 \r Rtl/Common/RTLConsts.pas:39
+msgid "Invalid binary value"
+msgstr "Valor binario no válido"
+
+#. Programmer's name for it: SInvalidCurrentItem\r
+#: Clx/QConsts.pas:160 \r Vcl/Consts.pas:108
+msgid "Invalid value for current item"
+msgstr "Valor no válido para el elemento actual"
+
+#. Programmer's name for it: SMaskErr\r
+#: Clx/QConsts.pas:161 \r Vcl/Consts.pas:109 Rtl/Common/RTLConsts.pas:61
+msgid "Invalid input value"
+msgstr "Valor de entrada no válido"
+
+#. Programmer's name for it: SMaskEditErr\r
+#: Clx/QConsts.pas:162 \r Vcl/Consts.pas:110 Rtl/Common/RTLConsts.pas:62
+msgid "Invalid input value. Use escape key to abandon changes"
+msgstr ""
+"Valor de entrada no válido. Use la tecla ESC para abandonar los cambios"
+
+#. Programmer's name for it: SMsgDlgWarning\r
+#: Clx/QConsts.pas:164 \r Vcl/Consts.pas:118
+msgid "Warning"
+msgstr "Aviso"
+
+#. Programmer's name for it: SMsgDlgError\r
+#: Clx/QConsts.pas:165 \r Vcl/Consts.pas:119
+msgid "Error"
+msgstr "Error"
+
+#. Programmer's name for it: SMsgDlgInformation\r
+#: Clx/QConsts.pas:166 \r Vcl/Consts.pas:120
+msgid "Information"
+msgstr "Información"
+
+#. Programmer's name for it: SMsgDlgConfirm\r
+#. Programmer's name for it: SConfirmCaption\r
+#. Programmer's name for it: SMsgDlgConfirm\r
+#. Programmer's name for it: SConfirmCaption\r
+#: Clx/QConsts.pas:167 \r Clx/QDBConsts.pas:29 Vcl/Consts.pas:121
+#: Vcl/VDBConsts.pas:28
+msgid "Confirm"
+msgstr "Confirmación"
+
+#. Programmer's name for it: SMsgDlgHelpNone\r
+#: Clx/QConsts.pas:173 \r Vcl/Consts.pas:127
+msgid "No help available"
+msgstr "No hay ayuda disponible"
+
+#. Programmer's name for it: SMsgDlgHelpHelp\r
+#. Programmer's name for it: SHelp\r
+#. Programmer's name for it: SMsgDlgHelpHelp\r
+#. StandardActions..ActionList1..HelpContents1..Category\r
+#. StandardActions..ActionList1..HelpOnHelp1..Category\r
+#. StandardActions..ActionList1..HelpTopicSearch1..Category\r
+#. StandardActions..ActionList1..HelpContextAction1..Category\r
+#. frmGeneratorEditor..HelpBtn..Caption\r
+#: Clx/QConsts.pas:174 \r Clx/QConsts.pas:283 Vcl/Consts.pas:128
+#: Vcl/ActnRes.dfm:85 Vcl/ActnRes.dfm:91 Vcl/ActnRes.dfm:96
+#: Vcl/ActnRes.dfm:260 Vcl/IBGeneratorEditor.dfm:104
+msgid "Help"
+msgstr "Ayuda"
+
+#. Programmer's name for it: SMsgDlgAbort\r
+#: Clx/QConsts.pas:175 \r Vcl/Consts.pas:129
+msgid "&Abort"
+msgstr "&Abortar"
+
+#. Programmer's name for it: SMsgDlgNoToAll\r
+#: Clx/QConsts.pas:179 \r Vcl/Consts.pas:133
+msgid "N&o to All"
+msgstr "N&o a todo"
+
+#. Programmer's name for it: SMsgDlgYesToAll\r
+#: Clx/QConsts.pas:180 \r Vcl/Consts.pas:134
+msgid "Yes to &All"
+msgstr "Sí a &todo"
+
+#. Programmer's name for it: srUnknown\r
+#. Programmer's name for it: SUnknown\r
+#. Programmer's name for it: srUnknown\r
+#. Programmer's name for it: SHostUnknown\r
+#: Clx/QConsts.pas:182 \r ToolsAPI/DesignConst.pas:31 Vcl/Consts.pas:155
+#: Vcl/ScktCnst.pas:34
+msgid "(Unknown)"
+msgstr "(Desconocido)"
+
+#. Programmer's name for it: srNone\r
+#. Programmer's name for it: SNoIndexFiles\r
+#. Programmer's name for it: srNone\r
+#: Clx/QConsts.pas:183 \r ToolsAPI/DesignConst.pas:13 Vcl/bdeconst.pas:61
+#: Vcl/Consts.pas:156
+msgid "(None)"
+msgstr "(Ninguno)"
+
+#. Programmer's name for it: SOutOfRange\r
+#: Clx/QConsts.pas:184 \r Vcl/Consts.pas:157
+msgid "Value must be between %d and %d"
+msgstr "El valor debe hallarse entre %d y %d"
+
+#. Programmer's name for it: SUnnamed\r
+#: Clx/QConsts.pas:185 \r
+msgid "Unnamed"
+msgstr "Sin nombre"
+
+#. Programmer's name for it: SDateEncodeError\r
+#: Clx/QConsts.pas:187 \r Vcl/Consts.pas:159 Rtl/Sys/SysConst.pas:26
+msgid "Invalid argument to date encode"
+msgstr "Argumento no válido para codificar fecha"
+
+#. Programmer's name for it: STimeEncodeError\r
+#: Clx/QConsts.pas:188 \r Rtl/Common/RTLConsts.pas:82 Rtl/Sys/SysConst.pas:25
+msgid "Invalid argument to time encode"
+msgstr "Argumento para codificar la hora no válido"
+
+#. Programmer's name for it: SInvalidDate\r
+#: Clx/QConsts.pas:189 \r Rtl/Common/RTLConsts.pas:40
+msgid "''%s'' is not a valid date"
+msgstr "'%s' no es una fecha válida"
+
+#. Programmer's name for it: SInvalidTime\r
+#: Clx/QConsts.pas:190 \r Rtl/Common/RTLConsts.pas:55
+msgid "''%s'' is not a valid time"
+msgstr "'%s' no es una hora válida"
+
+#. Programmer's name for it: SInvalidDateTime\r
+#: Clx/QConsts.pas:191 \r Rtl/Common/RTLConsts.pas:41
+msgid "''%s'' is not a valid date and time"
+msgstr "'%s' no es una fecha y hora válidas"
+
+#. Programmer's name for it: SInvalidFileName\r
+#: Clx/QConsts.pas:192 \r Rtl/Common/RTLConsts.pas:42
+msgid "Invalid file name - %s"
+msgstr "Nombre de archivo no válido - %s"
+
+#. Programmer's name for it: SDefaultFilter\r
+#: Clx/QConsts.pas:193 \r Vcl/Consts.pas:160
+msgid "All files (*.*)|*.*"
+msgstr "Todos los archivos (*.*)|*.*"
+
+#. Programmer's name for it: SInsertLineError\r
+#: Clx/QConsts.pas:194 \r Vcl/Consts.pas:163
+msgid "Unable to insert a line"
+msgstr "Incapaz de insertar una línea"
+
+#. Programmer's name for it: SConfirmCreateDir\r
+#: Clx/QConsts.pas:196 \r Vcl/Consts.pas:165
+msgid "The specified directory does not exist. Create it?"
+msgstr "La carpeta especificada no existe. ¿Crearla?"
+
+#. Programmer's name for it: SSelectDirCap\r
+#: Clx/QConsts.pas:197 \r Vcl/Consts.pas:166
+msgid "Select Directory"
+msgstr "Seleccione una carpeta"
+
+#. Programmer's name for it: SCannotCreateDir\r
+#: Clx/QConsts.pas:198 \r Rtl/Sys/SysConst.pas:165
+msgid "Unable to create directory"
+msgstr "Incapaz de crear directorio"
+
+#. Programmer's name for it: SDirNameCap\r
+#: Clx/QConsts.pas:199 \r Vcl/Consts.pas:167
+msgid "Directory &Name:"
+msgstr "&Nombre de carpeta:"
+
+#. Programmer's name for it: SDrivesCap\r
+#: Clx/QConsts.pas:200 \r Vcl/Consts.pas:168
+msgid "D&rives:"
+msgstr "&Discos:"
+
+#. Programmer's name for it: SDirsCap\r
+#: Clx/QConsts.pas:201 \r Vcl/Consts.pas:169
+msgid "&Directories:"
+msgstr "&Carpetas:"
+
+#. Programmer's name for it: SFilesCap\r
+#: Clx/QConsts.pas:202 \r Vcl/Consts.pas:170
+msgid "&Files: (*.*)"
+msgstr "&Archivos:"
+
+#. Programmer's name for it: SNetworkCap\r
+#: Clx/QConsts.pas:203 \r Vcl/Consts.pas:171
+msgid "Ne&twork..."
+msgstr "&Red..."
+
+#. Programmer's name for it: SInvalidClipFmt\r
+#: Clx/QConsts.pas:205 \r Vcl/Consts.pas:176
+msgid "Invalid clipboard format"
+msgstr "El formato del portapapeles no es válido"
+
+#. Programmer's name for it: SIconToClipboard\r
+#: Clx/QConsts.pas:206 \r Vcl/Consts.pas:177
+msgid "Clipboard does not support Icons"
+msgstr "El portapapeles no soporta iconos"
+
+#. Programmer's name for it: SCannotOpenClipboard\r
+#: Clx/QConsts.pas:207 \r Vcl/Consts.pas:178
+msgid "Cannot open clipboard"
+msgstr "No se puede abrir el portapapeles"
+
+#. Programmer's name for it: SInvalidActionRegistration\r
+#: Clx/QConsts.pas:209 \r Vcl/Consts.pas:242 Rtl/Common/RTLConsts.pas:37
+msgid "Invalid action registration"
+msgstr "Acción de registro no válida"
+
+#. Programmer's name for it: SInvalidActionUnregistration\r
+#: Clx/QConsts.pas:210 \r Vcl/Consts.pas:243 Rtl/Common/RTLConsts.pas:38
+msgid "Invalid action unregistration"
+msgstr "Acción de eliminación del registro no válida"
+
+#. Programmer's name for it: SInvalidActionEnumeration\r
+#: Clx/QConsts.pas:211 \r Vcl/Consts.pas:244 Rtl/Common/RTLConsts.pas:36
+msgid "Invalid action enumeration"
+msgstr "Acción de enumeración no válida"
+
+#. Programmer's name for it: SInvalidActionCreation\r
+#: Clx/QConsts.pas:212 \r Vcl/Consts.pas:245 Rtl/Common/RTLConsts.pas:35
+msgid "Invalid action creation"
+msgstr "Acción de creación no válida"
+
+#. Programmer's name for it: SDefault\r
+#. Programmer's name for it: sHTTPItemDefault\r
+#. Programmer's name for it: SDefault\r
+#. SQLWindow..DBGrid1..TitleFont.Name\r
+#. DSSQueryEditor..Pager..Dimensions..AddAgg..Font.Name\r
+#. CustomizeFrm..Tabs..OptionsTab..MenuAnimationStyles..Text\r
+#: Clx/QConsts.pas:214 \r Internet/WebConst.pas:30 Vcl/Consts.pas:180 Decision\r
+#: Cube/MXDSQL.DFM:21 Cube/MXDSSQRY.DFM:195 Vcl/CustomizeDlg.dfm:357
+msgid "Default"
+msgstr "Por defecto"
+
+#. Programmer's name for it: SInvalidMemoSize\r
+#: Clx/QConsts.pas:216 \r Vcl/Consts.pas:182
+msgid "Text exceeds memo capacity"
+msgstr "El texto excede la capacidad de la memoria"
+
+#. Programmer's name for it: SCustomColors\r
+#: Clx/QConsts.pas:217 \r Vcl/Consts.pas:183
+msgid "Custom Colors"
+msgstr "Colores personalizados"
+
+#. Programmer's name for it: SInvalidPrinterOp\r
+#: Clx/QConsts.pas:218 \r Vcl/Consts.pas:184
+msgid "Operation not supported on selected printer"
+msgstr "Operación no soportada por la impresora seleccionada"
+
+#. Programmer's name for it: SNoDefaultPrinter\r
+#: Clx/QConsts.pas:219 \r Vcl/Consts.pas:185
+msgid "There is no default printer currently selected"
+msgstr "Actualmente no hay impresora seleccionada por defecto"
+
+#. Programmer's name for it: SIniFileWriteError\r
+#: Clx/QConsts.pas:221 \r Vcl/Consts.pas:187 Rtl/Common/RTLConsts.pas:34
+msgid "Unable to write to %s"
+msgstr "Incapaz de escribir en %s"
+
+#. Programmer's name for it: SBitsIndexError\r
+#: Clx/QConsts.pas:223 \r Vcl/Consts.pas:189 Rtl/Common/RTLConsts.pas:16
+msgid "Bits index out of range"
+msgstr "Indice de bits fuera de rango"
+
+#. Programmer's name for it: SUntitled\r
+#: Clx/QConsts.pas:225 \r Vcl/Consts.pas:191
+msgid "(Untitled)"
+msgstr "(Sin título)"
+
+#. Programmer's name for it: SDuplicateMenus\r
+#: Clx/QConsts.pas:227 \r Vcl/Consts.pas:196
+msgid "Menu '%s' is already being used by another form"
+msgstr "El menú '%s' está siendo actualmente usado en otro formulario"
+
+#. Programmer's name for it: SPictureLabel\r
+#: Clx/QConsts.pas:229 \r Vcl/Consts.pas:198
+msgid "Picture:"
+msgstr "Imagen:"
+
+#. Programmer's name for it: SPictureDesc\r
+#: Clx/QConsts.pas:230 \r Vcl/Consts.pas:199
+msgid " (%dx%d)"
+msgstr " (%dx%d)"
+
+#. Programmer's name for it: SPreviewLabel\r
+#: Clx/QConsts.pas:231 \r Vcl/Consts.pas:200
+msgid "Preview"
+msgstr "Previsualización"
+
+#. Programmer's name for it: SBoldItalicFont\r
+#: Clx/QConsts.pas:233 \r Vcl/Consts.pas:221
+msgid "Bold Italic"
+msgstr "Negrita itálica"
+
+#. Programmer's name for it: SBoldFont\r
+#. StandardActions..ActionList1..RichEditBold1..Hint\r
+#: Clx/QConsts.pas:234 \r Vcl/Consts.pas:222 Vcl/ActnRes.dfm:129
+msgid "Bold"
+msgstr "Negrita"
+
+#. Programmer's name for it: SItalicFont\r
+#. StandardActions..ActionList1..RichEditItalic1..Hint\r
+#: Clx/QConsts.pas:235 \r Vcl/Consts.pas:223 Vcl/ActnRes.dfm:137
+msgid "Italic"
+msgstr "Itálica"
+
+#. Programmer's name for it: SRegularFont\r
+#: Clx/QConsts.pas:236 \r Vcl/Consts.pas:224
+msgid "Regular"
+msgstr "Normal"
+
+#. Programmer's name for it: SPropertiesVerb\r
+#. SocketForm..Pages..PropPage..Caption\r
+#: Clx/QConsts.pas:238 \r Vcl/Consts.pas:226 Vcl/ScktMain.dfm:31
+msgid "Properties"
+msgstr "Propiedades"
+
+#. Programmer's name for it: sAsyncSocketError\r
+#: Clx/QConsts.pas:240 \r Rtl/Common/RTLConsts.pas:113
+msgid "Asynchronous socket error %d"
+msgstr "Hay un error de socket asíncrono %d"
+
+#. Programmer's name for it: sNoAddress\r
+#: Clx/QConsts.pas:241 \r Rtl/Common/RTLConsts.pas:114
+msgid "No address specified"
+msgstr "Dirección no especificada"
+
+#. Programmer's name for it: sCannotListenOnOpen\r
+#: Clx/QConsts.pas:242 \r Rtl/Common/RTLConsts.pas:115
+msgid "Can't listen on an open socket"
+msgstr "No puede escucharse un socket abierto"
+
+#. Programmer's name for it: sCannotCreateSocket\r
+#: Clx/QConsts.pas:243 \r Rtl/Common/RTLConsts.pas:116
+msgid "Can't create new socket"
+msgstr "No puede crearse un nuevo socket"
+
+#. Programmer's name for it: sSocketAlreadyOpen\r
+#: Clx/QConsts.pas:244 \r Rtl/Common/RTLConsts.pas:117
+msgid "Socket already open"
+msgstr "El socket ya está abierto"
+
+#. Programmer's name for it: sCantChangeWhileActive\r
+#: Clx/QConsts.pas:245 \r Rtl/Common/RTLConsts.pas:118
+msgid "Can't change value while socket is active"
+msgstr "No puede cambiarse el valor mientras el socket está activo"
+
+#. Programmer's name for it: sSocketMustBeBlocking\r
+#: Clx/QConsts.pas:246 \r Rtl/Common/RTLConsts.pas:119
+msgid "Socket must be in blocking mode"
+msgstr "El socket debe estar en modo bloqueado"
+
+#. Programmer's name for it: sSocketIOError\r
+#: Clx/QConsts.pas:247 \r Rtl/Common/RTLConsts.pas:120
+msgid "%s error %d, %s"
+msgstr "%s error %d, %s"
+
+#. Programmer's name for it: sSocketRead\r
+#. Programmer's name for it: SReadAccess\r
+#: Clx/QConsts.pas:248 \r Rtl/Common/RTLConsts.pas:121 Rtl/Sys/SysConst.pas:66
+msgid "Read"
+msgstr "Leer"
+
+#. Programmer's name for it: sSocketWrite\r
+#. Programmer's name for it: SWriteAccess\r
+#: Clx/QConsts.pas:249 \r Rtl/Common/RTLConsts.pas:122 Rtl/Sys/SysConst.pas:67
+msgid "Write"
+msgstr "Escribir"
+
+#. Programmer's name for it: SAllCommands\r
+#: Clx/QConsts.pas:251 \r Vcl/Consts.pas:252
+msgid "All Commands"
+msgstr "Todos los comandos"
+
+#. Programmer's name for it: SDuplicateItem\r
+#: Clx/QConsts.pas:253 \r Vcl/Consts.pas:254 Rtl/Common/RTLConsts.pas:24
+msgid "List does not allow duplicates ($0%x)"
+msgstr "La lista no permite duplicados ($0%x)"
+
+#. Programmer's name for it: SDuplicatePropertyCategory\r
+#: Clx/QConsts.pas:255 \r
+msgid "A property category called %s already exists"
+msgstr "Una categoría de propiedad con nombre %s ya existe"
+
+#. Programmer's name for it: SUnknownPropertyCategory\r
+#: Clx/QConsts.pas:256 \r
+msgid "Property category does not exist (%s)"
+msgstr "No existe categoría de pripiedad (%s)"
+
+#. Programmer's name for it: SInvalidMask\r
+#: Clx/QConsts.pas:258 \r Rtl/Common/RTLConsts.pas:45
+msgid "'%s' is an invalid mask at (%d)"
+msgstr "'%s' es una máscara no válida en (%d)"
+
+#. Programmer's name for it: SInvalidFilter\r
+#. Programmer's name for it: sInvalidFilter\r
+#: Clx/QConsts.pas:259 \r ToolsAPI/DesignIntf.pas:475
+msgid "Property filters may only be name, class or type based (%d:%d)"
+msgstr ""
+"Los filtros de propiedad deben ser nombres, clases o tipos de clases (%d:%d)"
+
+#. Programmer's name for it: SInvalidCategory\r
+#: Clx/QConsts.pas:260 \r
+msgid "Categories must define their own name and description"
+msgstr "Las categorias deben definir su propio nombre y descripción"
+
+#. Programmer's name for it: sOperationNotAllowed\r
+#: Clx/QConsts.pas:262 \r
+msgid "Operation not allowed while dispatching application events"
+msgstr ""
+
+#. Programmer's name for it: STextNotFound\r
+#: Clx/QConsts.pas:263 \r Vcl/Consts.pas:256
+msgid "Text not found: \"%s\""
+msgstr "Texto no encontrado: \"%s\""
+
+#. Programmer's name for it: SImageIndexError\r
+#: Clx/QConsts.pas:265 \r Vcl/Consts.pas:40
+msgid "Invalid ImageList Index"
+msgstr "Indice de ImageList no válido"
+
+#. Programmer's name for it: SReplaceImage\r
+#: Clx/QConsts.pas:266 \r Vcl/Consts.pas:39
+msgid "Unable to Replace Image"
+msgstr "Incapaz de reemplazar imagen"
+
+#. Programmer's name for it: SInvalidImageType\r
+#: Clx/QConsts.pas:267 \r
+msgid "Invalid image type"
+msgstr "Tipo de imagen no válido"
+
+#. Programmer's name for it: SInvalidImageDimensions\r
+#: Clx/QConsts.pas:268 \r
+msgid "Image width and heigth must match"
+msgstr "El ancho y alto de la imagen deben coincidir"
+
+#. Programmer's name for it: SInvalidImageDimension\r
+#: Clx/QConsts.pas:269 \r
+msgid "Invalid image dimension"
+msgstr "Dimensión de imagen no válida"
+
+#. Programmer's name for it: SErrorResizingImageList\r
+#: Clx/QConsts.pas:270 \r
+msgid "Error resizing ImageList"
+msgstr "Error cambiando el tamaño del ImageList"
+
+#. Programmer's name for it: SInvalidRangeError\r
+#: Clx/QConsts.pas:272 \r
+msgid "Range of %d to %d is invalid"
+msgstr "El rango de %d a %d es no válido"
+
+#. Programmer's name for it: SInvalidMimeSourceStream\r
+#: Clx/QConsts.pas:273 \r
+msgid "MimeSource format must have an associated data stream"
+msgstr ""
+"El formato del MimeSource debe tener un conjunto (stream) de datos asociado"
+
+#. Programmer's name for it: SMimeNotSupportedForIcon\r
+#: Clx/QConsts.pas:274 \r
+msgid "Mime format not supported for TIcon"
+msgstr "Formato Mime no soportado para TIcon"
+
+#. Programmer's name for it: SSave\r
+#. Title\r
+#: Clx/QConsts.pas:277 \r Property\r Editors/ClxPicEdit.xfm:117
+msgid "Save As"
+msgstr "Grabar como"
+
+#. Programmer's name for it: SFindWhat\r
+#: Clx/QConsts.pas:278 \r
+msgid "Fi&nd what:"
+msgstr ""
+
+#. Programmer's name for it: SWholeWord\r
+#: Clx/QConsts.pas:279 \r
+msgid "Match &whole word only"
+msgstr ""
+
+#. Programmer's name for it: SMatchCase\r
+#: Clx/QConsts.pas:280 \r
+msgid "Match &case"
+msgstr ""
+
+#. Programmer's name for it: SFindNext\r
+#: Clx/QConsts.pas:281 \r
+msgid "&Find Next"
+msgstr ""
+
+#. Programmer's name for it: SFindTitle\r
+#: Clx/QConsts.pas:284 \r
+msgid "Find"
+msgstr "Buscar"
+
+#. Programmer's name for it: SDirection\r
+#: Clx/QConsts.pas:285 \r
+msgid "Direction"
+msgstr "Dirección"
+
+#. Programmer's name for it: SUp\r
+#: Clx/QConsts.pas:286 \r
+msgid "&Up"
+msgstr "&Arriba"
+
+#. Programmer's name for it: SDown\r
+#: Clx/QConsts.pas:287 \r
+msgid "&Down"
+msgstr "A&bajo"
+
+#. Programmer's name for it: SReplaceWith\r
+#: Clx/QConsts.pas:288 \r
+msgid "Rep&lace with:"
+msgstr "Reemp&lazar con:"
+
+#. Programmer's name for it: SReplace\r
+#. StandardActions..ActionList1..SearchReplace1..Caption\r
+#: Clx/QConsts.pas:289 \r Vcl/ActnRes.dfm:165
+msgid "&Replace"
+msgstr "&Reemplazar"
+
+#. Programmer's name for it: SReplaceTitle\r
+#: Clx/QConsts.pas:290 \r
+msgid "Replace"
+msgstr "Reemplazar"
+
+#. Programmer's name for it: SReplaceAll\r
+#: Clx/QConsts.pas:291 \r
+msgid "Replace &All"
+msgstr "Reemplaz&ar todo"
+
+#. Programmer's name for it: SOverwriteCaption\r
+#: Clx/QConsts.pas:292 \r
+msgid "Save %s as"
+msgstr "Grabar %s como"
+
+#. Programmer's name for it: SOverwriteText\r
+#: Clx/QConsts.pas:293 \r
+msgid "%s already exists.Do you want to replace it?"
+msgstr ""
+
+#. Programmer's name for it: SFileMustExist\r
+#: Clx/QConsts.pas:295 \r
+msgid "%sFile not found.Please verify the correct filename was given."
+msgstr ""
+"\"%s\"\n"
+"Archivo no encontrado.\n"
+"Por favor verifique el nombre del archivo."
+
+#. Programmer's name for it: SPathMustExist\r
+#: Clx/QConsts.pas:297 \r
+msgid "%sPath not found.Please verify the correct path was given."
+msgstr ""
+"\"%s\"\n"
+"Directorio no encontrado.\n"
+"Por favor verifique el nombre del directorio."
+
+#. Programmer's name for it: SUnknownImageFormat\r
+#: Clx/QConsts.pas:299 \r
+msgid "Image format not recognized"
+msgstr "Formato de imagen no reconocido"
+
+#. Programmer's name for it: SInvalidHandle\r
+#: Clx/QConsts.pas:300 \r
+msgid "Invalid handle value for %s"
+msgstr "Valor para el manejador (handle) no válido %s"
+
+#. Programmer's name for it: SUnableToWrite\r
+#: Clx/QConsts.pas:301 \r
+msgid "Unable to write bitmap"
+msgstr "No se puede escribir el bitmap"
+
+#. Programmer's name for it: sAllFilter\r
+#: Clx/QConsts.pas:302 \r Vcl/Consts.pas:161
+msgid "All"
+msgstr "Todos"
+
+#. Programmer's name for it: sInvalidSetClipped\r
+#: Clx/QConsts.pas:304 \r
+msgid "Cannot set Clipped property while painting"
+msgstr "No se puede asignar la propiedad Clipped mientras se pinta"
+
+#. Programmer's name for it: sInvalidLCDValue\r
+#: Clx/QConsts.pas:306 \r
+msgid "Invalid LCDNumber value"
+msgstr "Valor del LCDNumber no válido"
+
+#. Programmer's name for it: sTabFailDelete\r
+#: Clx/QConsts.pas:308 \r Vcl/ComStrs.pas:16
+msgid "Failed to delete tab at index %d"
+msgstr "Se ha producido un error al eliminar la página en índice %d"
+
+#. Programmer's name for it: sPageIndexError\r
+#: Clx/QConsts.pas:310 \r Vcl/ComStrs.pas:46
+msgid "%d is an invalid PageIndex value. PageIndex must be between 0 and %d"
+msgstr ""
+"%d es un valor de índice de página (PageIndex) no válido. El índice de "
+"página debe estar entre 0 y %d"
+
+#. Programmer's name for it: sInvalidLevel\r
+#: Clx/QConsts.pas:311 \r Vcl/ComStrs.pas:23
+msgid "Invalid item level assignment"
+msgstr "Asignación de nivel de elemento no válida"
+
+#. Programmer's name for it: sInvalidLevelEx\r
+#: Clx/QConsts.pas:312 \r Vcl/ComStrs.pas:24
+msgid "Invalid level (%d) for item \"%s\""
+msgstr "Nivel (%d) no válido para el elemento \"%s\""
+
+#. Programmer's name for it: sTabMustBeMultiLine\r
+#: Clx/QConsts.pas:313 \r Vcl/ComStrs.pas:21
+msgid "MultiLine must be True when TabPosition is tpLeft or tpRight"
+msgstr ""
+"MultiLine debe ser \"True\" cuando TabPosition es \"tpLeft\" o \"tpRight\""
+
+#. Programmer's name for it: sStatusBarContainsControl\r
+#: Clx/QConsts.pas:314 \r
+msgid "%s is already in the StatusBar"
+msgstr "%s ya està en la StatusBar"
+
+#. Programmer's name for it: sListRadioItemBadParent\r
+#: Clx/QConsts.pas:315 \r
+msgid "Radio items must have a Controller as a parent"
+msgstr ""
+"Los elementos de múltiple selección deben tener un Controlador como padre"
+
+#. Programmer's name for it: sOwnerNotCustomHeaderSections\r
+#: Clx/QConsts.pas:316 \r
+msgid "Owner is not a TCustomHeaderSection"
+msgstr "El dueño no es un TCustomHeaderSection"
+
+#. Programmer's name for it: sHeaderSectionOwnerNotHeaderControl\r
+#: Clx/QConsts.pas:317 \r
+msgid "Header Section owner must be a TCustomHeaderControl"
+msgstr "El dueño de la Banda de Encabezado debe tener un TCustomHeaderControl"
+
+#. Programmer's name for it: SFirstRecord\r
+#: Clx/QDBConsts.pas:20 \r Vcl/VDBConsts.pas:19
+msgid "First record"
+msgstr "Primer registro"
+
+#. Programmer's name for it: SPriorRecord\r
+#: Clx/QDBConsts.pas:21 \r Vcl/VDBConsts.pas:20
+msgid "Prior record"
+msgstr "Anterior registro"
+
+#. Programmer's name for it: SNextRecord\r
+#: Clx/QDBConsts.pas:22 \r Vcl/VDBConsts.pas:21
+msgid "Next record"
+msgstr "Siguiente registro"
+
+#. Programmer's name for it: SLastRecord\r
+#: Clx/QDBConsts.pas:23 \r Vcl/VDBConsts.pas:22
+msgid "Last record"
+msgstr "Último registro"
+
+#. Programmer's name for it: SInsertRecord\r
+#: Clx/QDBConsts.pas:24 \r Vcl/VDBConsts.pas:23
+msgid "Insert record"
+msgstr "Insertar registro"
+
+#. Programmer's name for it: SDeleteRecord\r
+#: Clx/QDBConsts.pas:25 \r Vcl/VDBConsts.pas:24
+msgid "Delete record"
+msgstr "Eliminar registro"
+
+#. Programmer's name for it: SEditRecord\r
+#: Clx/QDBConsts.pas:26 \r Vcl/VDBConsts.pas:25
+msgid "Edit record"
+msgstr "Editar registro"
+
+#. Programmer's name for it: SPostEdit\r
+#: Clx/QDBConsts.pas:27 \r Vcl/VDBConsts.pas:26
+msgid "Post edit"
+msgstr "Grabar edición"
+
+#. Programmer's name for it: SCancelEdit\r
+#: Clx/QDBConsts.pas:28 \r Vcl/VDBConsts.pas:27
+msgid "Cancel edit"
+msgstr "Cancelar edición"
+
+#. Programmer's name for it: SRefreshRecord\r
+#: Clx/QDBConsts.pas:30 \r Vcl/VDBConsts.pas:29
+msgid "Refresh data"
+msgstr "Refrescar datos"
+
+#. Programmer's name for it: SDeleteRecordQuestion\r
+#: Clx/QDBConsts.pas:31 \r Vcl/DBConsts.pas:106 Vcl/VDBConsts.pas:30
+msgid "Delete record?"
+msgstr "¿Desea eliminar el registro?"
+
+#. Programmer's name for it: SDeleteMultipleRecordsQuestion\r
+#: Clx/QDBConsts.pas:32 \r Vcl/DBConsts.pas:107 Vcl/VDBConsts.pas:31
+msgid "Delete all selected records?"
+msgstr "¿Desea eliminar todos los registros seleccionados?"
+
+#. Programmer's name for it: SDataSourceFixed\r
+#: Clx/QDBConsts.pas:33 \r Vcl/VDBConsts.pas:32
+msgid "Operation not allowed in a DBCtrlGrid"
+msgstr "Operación no permitida en un DBCtrlGrid"
+
+#. Programmer's name for it: SNotReplicatable\r
+#: Clx/QDBConsts.pas:34 \r Vcl/VDBConsts.pas:33
+msgid "Control cannot be used in a DBCtrlGrid"
+msgstr "El control no puede ser utilizado en un DBCtrlGrid"
+
+#. Programmer's name for it: SPropDefByLookup\r
+#: Clx/QDBConsts.pas:35 \r Vcl/VDBConsts.pas:34
+msgid "Property already defined by lookup field"
+msgstr "Propiedad ya definida anteriormente por el campo de búsqueda"
+
+#. Programmer's name for it: STooManyColumns\r
+#: Clx/QDBConsts.pas:36 \r Vcl/DBConsts.pas:108 Vcl/VDBConsts.pas:35
+msgid "Grid requested to display more than 256 columns"
+msgstr "La rejilla pidió desplegar más de 256 columnas"
+
+#. Programmer's name for it: SRemoteLogin\r
+#: Clx/QDBConsts.pas:39 \r Vcl/VDBConsts.pas:38
+msgid "Remote Login"
+msgstr "Login Remoto"
+
+#. Programmer's name for it: sRowError\r
+#: Decision\r Cube/Mxconsts.pas:27 \r Vcl/Mxconsts.pas:27
+msgid "row error"
+msgstr "error de fila"
+
+#. Programmer's name for it: sAllValues\r
+#: Decision\r Cube/Mxconsts.pas:29 \r Vcl/Mxconsts.pas:29
+msgid "All Values"
+msgstr "Todos los valores"
+
+#. Programmer's name for it: sMovetoRow\r
+#: Decision\r Cube/Mxconsts.pas:30 \r Vcl/Mxconsts.pas:30
+msgid "Move to Row Area"
+msgstr "Mover al Área de Filas"
+
+#. Programmer's name for it: sMovetoCol\r
+#: Decision\r Cube/Mxconsts.pas:31 \r Vcl/Mxconsts.pas:31
+msgid "Move to Column Area"
+msgstr "Mover al Área de Columnas"
+
+#. Programmer's name for it: sMakeDimOpen\r
+#: Decision\r Cube/Mxconsts.pas:32 \r Vcl/Mxconsts.pas:32
+msgid "Open Dimension"
+msgstr "Abrir Dimensión"
+
+#. Programmer's name for it: sDrilled\r
+#: Decision\r Cube/Mxconsts.pas:33 \r Vcl/Mxconsts.pas:33
+msgid "Drilled In"
+msgstr "Profundizado"
+
+#. Programmer's name for it: sCouldNotOpen\r
+#: Decision\r Cube/Mxconsts.pas:34 \r Vcl/Mxconsts.pas:34
+msgid "The information requested could not be loaded. "
+msgstr "La información requerida no pudo ser cargada."
+
+#. Programmer's name for it: sNoSumsAvailable\r
+#: Decision\r Cube/Mxconsts.pas:35 \r Vcl/Mxconsts.pas:35
+msgid "No active summaries have been defined. "
+msgstr "No ha sidos definidos los sumarios activos."
+
+#. Programmer's name for it: sNoSumsCouldBeLoaded\r
+#: Decision\r Cube/Mxconsts.pas:36 \r Vcl/Mxconsts.pas:36
+msgid "Not enough room available to load a summary. "
+msgstr "No hay espacio suficiente para cargar un sumario."
+
+#. Programmer's name for it: sNoDimsAvailable\r
+#: Decision\r Cube/Mxconsts.pas:37 \r Vcl/Mxconsts.pas:37
+msgid "No available dimensions have been defined. "
+msgstr "No ha sido definidas las dimensiones disponibles"
+
+#. Programmer's name for it: sNoDimsCouldBeLoaded\r
+#: Decision\r Cube/Mxconsts.pas:38 \r Vcl/Mxconsts.pas:38
+msgid "Not enough space available to load a dimension. "
+msgstr "No hay espacio suficiente para cargar una dimensión."
+
+#. Programmer's name for it: sTemplatePrefix\r
+#: Decision\r Cube/Mxconsts.pas:40 \r Vcl/Mxconsts.pas:40
+msgid "Template: "
+msgstr "Patrón: "
+
+#. Programmer's name for it: sGridCellError\r
+#: Decision\r Cube/Mxconsts.pas:42 \r Vcl/Mxconsts.pas:42
+msgid "[Error]"
+msgstr "[Error]"
+
+#. Programmer's name for it: sTotalCaption\r
+#: Decision\r Cube/Mxconsts.pas:43 \r Vcl/Mxconsts.pas:43
+msgid "Sum"
+msgstr "Suma"
+
+#. Programmer's name for it: sActivateLabel\r
+#: Decision\r Cube/Mxconsts.pas:44 \r Vcl/Mxconsts.pas:44
+msgid "Inactive Dimensions"
+msgstr "Dimensiones inactivas"
+
+#. Programmer's name for it: sRowCaption\r
+#: Decision\r Cube/Mxconsts.pas:45 \r Vcl/Mxconsts.pas:45
+msgid "R"
+msgstr ""
+
+#. Programmer's name for it: sColCaption\r
+#: Decision\r Cube/Mxconsts.pas:46 \r Vcl/Mxconsts.pas:46
+msgid "C"
+msgstr ""
+
+#. Programmer's name for it: sCaptionMenu1\r
+#: Decision\r Cube/Mxconsts.pas:47 \r Vcl/Mxconsts.pas:47
+msgid "Display Data and Subtotals"
+msgstr "Mostrar datos y subtotales"
+
+#. Programmer's name for it: sCaptionMenu2\r
+#: Decision\r Cube/Mxconsts.pas:48 \r Vcl/Mxconsts.pas:48
+msgid "Display Data Only"
+msgstr "Mostrar solo datos"
+
+#. Programmer's name for it: sCaptionMenu3\r
+#: Decision\r Cube/Mxconsts.pas:49 \r Vcl/Mxconsts.pas:49
+msgid "Display Subtotals Only"
+msgstr "Mostrar solo subtotales"
+
+#. Programmer's name for it: sDrillIn\r
+#: Decision\r Cube/Mxconsts.pas:50 \r Vcl/Mxconsts.pas:50
+msgid "Drill in to this value"
+msgstr "Profundizar en éste valor"
+
+#. Programmer's name for it: sGridMenu1\r
+#: Decision\r Cube/Mxconsts.pas:51 \r Vcl/Mxconsts.pas:51
+msgid "Subtotals on/off"
+msgstr "Subtotales activados/desactivados"
+
+#. Programmer's name for it: sGridMenu2\r
+#: Decision\r Cube/Mxconsts.pas:52 \r Vcl/Mxconsts.pas:52
+msgid "Decision Cube Editor.."
+msgstr "Editor de Cubo de Decisiones.."
+
+#. Programmer's name for it: sGridMenu3\r
+#: Decision\r Cube/Mxconsts.pas:53 \r Vcl/Mxconsts.pas:53
+msgid "Decision Query Editor.."
+msgstr "Editor de Query de Decisiones.."
+
+#. Programmer's name for it: sGridMenu4\r
+#: Decision\r Cube/Mxconsts.pas:54 \r Vcl/Mxconsts.pas:54
+msgid "Show Detail Records.."
+msgstr "Mostrar Registros Detallados.."
+
+#. Programmer's name for it: sUnsupportedDataType\r
+#: Decision\r Cube/Mxconsts.pas:57 \r Vcl/Mxconsts.pas:57
+msgid "Unsupported data type : %s"
+msgstr "Tipo de dato no soportado : %s"
+
+#. Programmer's name for it: sRowOutOfRange\r
+#: Decision\r Cube/Mxconsts.pas:58 \r Vcl/Mxconsts.pas:58
+msgid "Row index out of range : %d"
+msgstr "Indice de fila fuera de rango : %d"
+
+#. Programmer's name for it: sColOutOfRange\r
+#: Decision\r Cube/Mxconsts.pas:59 \r Vcl/Mxconsts.pas:59
+msgid "Column index out of range : %d"
+msgstr "Indice de columna fuera de rango : %d"
+
+#. Programmer's name for it: sDupeItem\r
+#: Decision\r Cube/Mxconsts.pas:60 \r Vcl/Mxconsts.pas:60
+msgid "Duplicate item in array"
+msgstr "Dato duplicado en la matriz"
+
+#. Programmer's name for it: sArrayIndexOutOfRange\r
+#: Decision\r Cube/Mxconsts.pas:61 \r Vcl/Mxconsts.pas:61
+msgid "Array index out of range : %d"
+msgstr "Indice de matriz fuera de rango : %d"
+
+#. Programmer's name for it: sLowCapacityError\r
+#: Decision\r Cube/Mxconsts.pas:62 \r Vcl/Mxconsts.pas:62
+msgid ""
+"The DecisionCube Capacity is low. Please deactivate dimensions or change the "
+"data set."
+msgstr ""
+"La capacidad (Capacity) del Cubo de Decisiónes es baja. Por favor, desactive "
+"las dimensiones o cambie el DataSet."
+
+#. Programmer's name for it: sQryNotInitialized\r
+#: Decision\r Cube/Mxconsts.pas:63 \r Vcl/Mxconsts.pas:63
+msgid ""
+"Query could not be run. Check that the query, SQL text, and Database are "
+"correct."
+msgstr ""
+"La consulta no puede ser ejecutada. Verifique que la consulta, el texto SQL, "
+"y el DataBase son correctos."
+
+#. Programmer's name for it: sSortedListError\r
+#: Decision\r Cube/Mxconsts.pas:64 \r Vcl/Mxconsts.pas:64
+msgid "Operation not allowed on sorted string list."
+msgstr "Operación no soportada en una lista de cadenes ordenada."
+
+#. Programmer's name for it: sDuplicateString\r
+#: Decision\r Cube/Mxconsts.pas:65 \r Vcl/Mxconsts.pas:65
+msgid "String list does not allow duplicates."
+msgstr "Las listas de cadenas no permiten duplicados."
+
+#. Programmer's name for it: sMaxAllowedSums\r
+#: Decision\r Cube/Mxconsts.pas:66 \r Vcl/Mxconsts.pas:66
+msgid "The maximum allowed summaries of %d has been exceeded."
+msgstr "El número máximo de sumarios permitidos de %d ha sido excedido."
+
+#. Programmer's name for it: sGeneralArrayError\r
+#: Decision\r Cube/Mxconsts.pas:67 \r Vcl/Mxconsts.pas:67
+msgid "General array error."
+msgstr "Hay un error en la matriz general."
+
+#. Programmer's name for it: sDimIndexError\r
+#: Decision\r Cube/Mxconsts.pas:70 \r Vcl/Mxconsts.pas:70
+msgid "Illegal Dimension Index"
+msgstr "Índice de Dimensiones ilegal"
+
+#. Programmer's name for it: sIllegalValueForBin\r
+#: Decision\r Cube/Mxconsts.pas:73 \r Vcl/Mxconsts.pas:73
+msgid "Initial Value is not legal for this type of Grouping"
+msgstr "El valor inicial no es legal para éste tipo de agrupamiento"
+
+#. Programmer's name for it: sIllegalDimMap\r
+#: Decision\r Cube/Mxconsts.pas:74 \r Vcl/Mxconsts.pas:74
+msgid "Dimension Map is not the correct size"
+msgstr "El Mapa de Dimensiones no tiene el tamaño correcto"
+
+#. Programmer's name for it: sDimMapActiveError\r
+#: Decision\r Cube/Mxconsts.pas:75 \r Vcl/Mxconsts.pas:75
+msgid "Cannot perform this action on an active Dimension Map"
+msgstr "No se puede ejecutar esta operación sobre una Dimension Map activa"
+
+#. Programmer's name for it: sNotAvailable\r
+#: Decision\r Cube/Mxconsts.pas:76 \r Vcl/Mxconsts.pas:76
+msgid "Not Available"
+msgstr "No disponible"
+
+#. Programmer's name for it: sGetValueCounts\r
+#: Decision\r Cube/Mxconsts.pas:77 \r Vcl/Mxconsts.pas:77
+msgid ""
+"Information required to do Maximum Cell limit is not current. Do you want "
+"to fetch it now?"
+msgstr ""
+"La información requerida para el límite Máximo de Celda no está presente. "
+"¿Desea adquirirla ahora?"
+
+#. Programmer's name for it: sDateBinningNotAllowed\r
+#: Decision\r Cube/Mxconsts.pas:78 \r Vcl/Mxconsts.pas:78
+msgid "Date grouping is not allowed for fields of this type"
+msgstr "El Agrupamiento por Fecha no está permitido para campos de éste tipo"
+
+#. Programmer's name for it: sEmptyDataSet\r
+#: Decision\r Cube/Mxconsts.pas:79 \r Vcl/Mxconsts.pas:79
+msgid "Cannot build the Decision Cube with an empty data set"
+msgstr ""
+"No se puede construir el Cubo de Decisiones con un conjunto de datos vacío"
+
+#. Programmer's name for it: sNoDataSet\r
+#: Decision\r Cube/Mxconsts.pas:82 \r Vcl/Mxconsts.pas:82
+msgid "Data set property is not assigned"
+msgstr "El dataset no está asignado"
+
+#. Programmer's name for it: sNoAggs\r
+#: Decision\r Cube/Mxconsts.pas:83 \r Vcl/Mxconsts.pas:83
+msgid "No summaries are defined. "
+msgstr "No se han definido sumarios. "
+
+#. Programmer's name for it: sNoDims\r
+#: Decision\r Cube/Mxconsts.pas:84 \r Vcl/Mxconsts.pas:84
+msgid "No dimension fields are defined. "
+msgstr "No se han definido campos de dimensión. "
+
+#. Programmer's name for it: sUnknownDims\r
+#: Decision\r Cube/Mxconsts.pas:85 \r Vcl/Mxconsts.pas:85
+msgid ""
+"The dimension types for this dataset cannot be determined automatically. "
+"You must map the fields to dimensions or summaries with the Decision Cube "
+"Editor"
+msgstr ""
+"Los tipos de dimensión para este dataset no pueden ser determinados "
+"automáticamente. Debe definir las dimensiones de los campos o los resúmenes "
+"con el Editor del Cubo de Desición"
+
+#. Programmer's name for it: sGroupsMissing\r
+#: Decision\r Cube/Mxconsts.pas:86 \r Vcl/Mxconsts.pas:86
+msgid "All dimension fields must be grouped. "
+msgstr "Todos los campos de dimensión deben estar agrupados. "
+
+#. Programmer's name for it: sDecisionQueryError\r
+#. Programmer's name for it: sQueryError\r
+#. Programmer's name for it: sDecisionQueryError\r
+#. Programmer's name for it: sQueryError\r
+#: Decision\r Cube/Mxconsts.pas:87 \r Cube/Mxconsts.pas:89 Vcl/Mxconsts.pas:87
+#: Vcl/Mxconsts.pas:89
+msgid ""
+"The query may be incorrectly defined, or you may need to map its fields to "
+"active dimensions or summaries with the Decision Cube Editor"
+msgstr ""
+"La consulta puede estar definida incorrectamente, o tal vez necesite indicar "
+"en el mapa los campos para activar las dimensiones o sumarios con el Editor "
+"de Cubo de Decisión"
+
+#. Programmer's name for it: sDataSetError\r
+#: Decision\r Cube/Mxconsts.pas:88 \r Vcl/Mxconsts.pas:88
+msgid ""
+"The dataset may be incorrectly defined, or you may need to map its fields to "
+"active dimensions or summaries with the Decision Cube Editor"
+msgstr ""
+"El dataSet puede estar definido incorrectamente, o tal vez necesite indicar "
+"en el mapa los campos para activar las dimensiones o sumarios con el Editor "
+"de Cubo de Decisión"
+
+#. Programmer's name for it: sCountStar\r
+#: Decision\r Cube/Mxconsts.pas:90 \r Vcl/Mxconsts.pas:90
+msgid "COUNTALL"
+msgstr ""
+
+#. Programmer's name for it: sAddAvgWarning\r
+#: Decision\r Cube/Mxconsts.pas:91 \r Vcl/Mxconsts.pas:91
+msgid ""
+"Average is calculated using sum and count summaries for each field. The "
+"necessary summaries have been added."
+msgstr ""
+
+#. Programmer's name for it: sAddAvgStarWarning\r
+#: Decision\r Cube/Mxconsts.pas:92 \r Vcl/Mxconsts.pas:92
+msgid ""
+"Average is calculated using a field sum and count(*). The necessary "
+"summaries have been added."
+msgstr ""
+"El promedio está calculado utilizando SUM y COUNT para cada campo. Los "
+"sumarios necesarios han sido añadidos."
+
+#. Programmer's name for it: sQueryLegal\r
+#: Decision\r Cube/Mxconsts.pas:95 \r Vcl/Mxconsts.pas:95
+msgid "Query is legal."
+msgstr "La consulta es legal."
+
+#. Programmer's name for it: sAddFieldExists\r
+#: Decision\r Cube/Mxconsts.pas:96 \r Vcl/Mxconsts.pas:96
+msgid " is already in the query"
+msgstr " ya estaba en la consulta"
+
+#. Programmer's name for it: sAggTypeNotAllowed\r
+#: Decision\r Cube/Mxconsts.pas:97 \r Vcl/Mxconsts.pas:97
+msgid " is not an allowed summary type"
+msgstr " no es un tipo de sumario permitido"
+
+#. Programmer's name for it: sDimTypeNotAllowed\r
+#: Decision\r Cube/Mxconsts.pas:98 \r Vcl/Mxconsts.pas:98
+msgid " is not an allowed dimension type"
+msgstr " no es un tipo de dimensión permitida"
+
+#. Programmer's name for it: sAverageRequires\r
+#: Decision\r Cube/Mxconsts.pas:99 \r Vcl/Mxconsts.pas:99
+msgid "Average summaries use Sum and Count"
+msgstr "El promedio de sumarios utiliza SUM Y COUNT"
+
+#. Programmer's name for it: sWantToExit\r
+#: Decision\r Cube/Mxconsts.pas:100 \r Vcl/Mxconsts.pas:100
+msgid "Do you still want to Exit?"
+msgstr "¿Aún desea salir?"
+
+#. Programmer's name for it: sQueryIllegal\r
+#: Decision\r Cube/Mxconsts.pas:101 \r Vcl/Mxconsts.pas:101
+msgid "The query you have created is not legal."
+msgstr "La consulta que ha creado no es legal."
+
+#. Programmer's name for it: sQueryEditIllegal\r
+#: Decision\r Cube/Mxconsts.pas:102 \r Vcl/Mxconsts.pas:102
+msgid ""
+"The query you have entered is not legal. Please correct it before "
+"continuing."
+msgstr ""
+"La consulta que ha ingresadono es legal. Por favor corríjala anes de "
+"continuar"
+
+#. Programmer's name for it: sRemoveFieldError\r
+#: Decision\r Cube/Mxconsts.pas:103 \r Vcl/Mxconsts.pas:103
+msgid "Could not remove the field"
+msgstr "No se pudo eliminar el campo"
+
+#. Programmer's name for it: sAllFields\r
+#: Decision\r Cube/Mxconsts.pas:104 \r Vcl/Mxconsts.pas:104
+msgid "All Fields"
+msgstr "Todos los Campos"
+
+#. Programmer's name for it: sQueryFields\r
+#: Decision\r Cube/Mxconsts.pas:105 \r Vcl/Mxconsts.pas:105
+msgid "Query Fields"
+msgstr "Campos de Consulta"
+
+#. Programmer's name for it: sEditDone\r
+#: Decision\r Cube/Mxconsts.pas:106 \r Vcl/Mxconsts.pas:106
+msgid "&Edit Done"
+msgstr "&Edición Finalizada"
+
+#. Programmer's name for it: sEditQuery\r
+#. DSSQueryEditor..Pager..Query..EditQry..Caption\r
+#: Decision\r Cube/Mxconsts.pas:107 \r Vcl/Mxconsts.pas:107
+#: Cube/MXDSSQRY.DFM:299
+msgid "&Edit Query"
+msgstr "&Editar Consulta"
+
+#. Programmer's name for it: sQParseRemovedField\r
+#: Decision\r Cube/Mxconsts.pas:110 \r Vcl/Mxconsts.pas:110
+msgid ""
+"One or more fields of a type which cannot be tabulated were removed from the "
+"query."
+msgstr ""
+"Uno o más campos por cuyo tipo no pueden ser tabulados fueron eliminados de "
+"la consulta."
+
+#. Programmer's name for it: sCubeLimitsExceeded\r
+#: Decision\r Cube/Mxconsts.pas:113 \r Vcl/Mxconsts.pas:113
+msgid "Decision Cube size excedes limits"
+msgstr "El tamaño del Cubo de Decisión excede los límites"
+
+#. Programmer's name for it: sMaxAllowedDims\r
+#: Decision\r Cube/Mxconsts.pas:114 \r Vcl/Mxconsts.pas:114
+msgid "The maximum allowed dimensions of %d has been exceeded."
+msgstr "El número máximo de dimensiones permitidas de %d ha sido excedido."
+
+#. Programmer's name for it: sMaxAllowedCells\r
+#: Decision\r Cube/Mxconsts.pas:115 \r Vcl/Mxconsts.pas:115
+msgid "Total cell count of %d exceeds the maximum of %d."
+msgstr "El número total de celdas de %d excede el máximo de %d."
+
+#. Programmer's name for it: sUnsupportedFieldType\r
+#: Decision\r Cube/Mxconsts.pas:116 \r Vcl/Mxconsts.pas:116
+msgid "Field %s has an unsupported data type: %s"
+msgstr "El campo %s es de un tipo no soportado: %s"
+
+#. Programmer's name for it: sFetchValues\r
+#: Decision\r Cube/Mxconsts.pas:117 \r Vcl/Mxconsts.pas:117
+msgid "Scanning data set values..."
+msgstr "Explorando los valores del DataSet..."
+
+#. Programmer's name for it: sUserCanceled\r
+#: Decision\r Cube/Mxconsts.pas:118 \r Vcl/Mxconsts.pas:118
+msgid "User canceled DecisionCube population."
+msgstr "El usuario canceló el procesamiento del DecisionCube."
+
+#. Programmer's name for it: sBinningValues\r
+#: Decision\r Cube/Mxconsts.pas:119 \r Vcl/Mxconsts.pas:119
+msgid "Grouping values ..."
+msgstr "Agrupando valores..."
+
+#. Programmer's name for it: sCreatingIndexes\r
+#: Decision\r Cube/Mxconsts.pas:120 \r Vcl/Mxconsts.pas:120
+msgid "Creating Cube index for %s ..."
+msgstr "Creando el índice del Cubo para %s ..."
+
+#. Programmer's name for it: sCreateDerivedSummaryError\r
+#: Decision\r Cube/Mxconsts.pas:121 \r Vcl/Mxconsts.pas:121
+msgid "Unable to create derived summary."
+msgstr "No es posible crear un sumario derivado."
+
+#. Programmer's name for it: sTrue\r
+#. Programmer's name for it: STextTrue\r
+#. Programmer's name for it: sTrue\r
+#: Decision\r Cube/Mxconsts.pas:122 \r Vcl/DBConsts.pas:80 Vcl/Mxconsts.pas:122
+msgid "True"
+msgstr "Verdadero"
+
+#. Programmer's name for it: sFalse\r
+#. Programmer's name for it: STextFalse\r
+#. Programmer's name for it: sFalse\r
+#: Decision\r Cube/Mxconsts.pas:123 \r Vcl/DBConsts.pas:79 Vcl/Mxconsts.pas:123
+msgid "False"
+msgstr "Falso"
+
+#. Programmer's name for it: sBinTypeMismatch\r
+#: Decision\r Cube/Mxconsts.pas:124 \r Vcl/Mxconsts.pas:124
+msgid "The bin type does not match the fieldtype."
+msgstr "El tipo de contenedor no concuerda con el tipo de campo."
+
+#. Programmer's name for it: sFatalCacheError\r
+#: Decision\r Cube/Mxconsts.pas:125 \r Vcl/Mxconsts.pas:125
+msgid "Fatal error in cache: code: %d"
+msgstr "Error fatal en cache: código: %d"
+
+#. Programmer's name for it: sStringTypeNoSupported\r
+#: Decision\r Cube/Mxconsts.pas:126 \r Vcl/Mxconsts.pas:126
+msgid "String Data type not supported for summaries"
+msgstr "Tipo de Dato de Cadena no soportado por sumarios"
+
+#. Programmer's name for it: sDataSetTooLarge\r
+#: Decision\r Cube/Mxconsts.pas:127 \r Vcl/Mxconsts.pas:127
+msgid "Dataset is too large"
+msgstr "El dataset es demasiado grande"
+
+#. Programmer's name for it: sBuildingDataStore\r
+#: Decision\r Cube/Mxconsts.pas:128 \r Vcl/Mxconsts.pas:128
+msgid "Building data store..."
+msgstr "Construyendo almacén de datos..."
+
+#. Programmer's name for it: sSumLabel\r
+#: Decision\r Cube/Mxconsts.pas:131 \r Vcl/Mxconsts.pas:131
+msgid "Sum of %s"
+msgstr "Suma de %s"
+
+#. Programmer's name for it: sCountLabel\r
+#: Decision\r Cube/Mxconsts.pas:132 \r Vcl/Mxconsts.pas:132
+msgid "Count of %s"
+msgstr "Recuento de %s"
+
+#. Programmer's name for it: sMaxLabel\r
+#: Decision\r Cube/Mxconsts.pas:133 \r Vcl/Mxconsts.pas:133
+msgid "Maximum of %s"
+msgstr "Máximo de %s"
+
+#. Programmer's name for it: sMinLabel\r
+#: Decision\r Cube/Mxconsts.pas:134 \r Vcl/Mxconsts.pas:134
+msgid "Minimum of %s"
+msgstr "Mínimo de %s"
+
+#. Programmer's name for it: sAverageLabel\r
+#: Decision\r Cube/Mxconsts.pas:135 \r Vcl/Mxconsts.pas:135
+msgid "Average of %s"
+msgstr "Promedio de %s"
+
+#. Programmer's name for it: sVarLabel\r
+#: Decision\r Cube/Mxconsts.pas:136 \r Vcl/Mxconsts.pas:136
+msgid "Variance of %s"
+msgstr "Varianza de %s"
+
+#. Programmer's name for it: sSDLabel\r
+#: Decision\r Cube/Mxconsts.pas:137 \r Vcl/Mxconsts.pas:137
+msgid "Standard Deviation of %s"
+msgstr "Desviación estándar de %s"
+
+#. Programmer's name for it: sAggLabel\r
+#: Decision\r Cube/Mxconsts.pas:138 \r Vcl/Mxconsts.pas:138
+msgid "Summary of %s"
+msgstr "Sumario de %s"
+
+#. Programmer's name for it: sUnsupportedVarType\r
+#: Decision\r Cube/Mxconsts.pas:139 \r Vcl/Mxconsts.pas:139
+msgid "Unsupported Data Type %d"
+msgstr "Tipo de dato no soportado"
+
+#. Programmer's name for it: sOtherValues\r
+#: Decision\r Cube/Mxconsts.pas:140 \r Vcl/Mxconsts.pas:140
+msgid "Other Values"
+msgstr "Otros valores"
+
+#. Programmer's name for it: sSelectFromError\r
+#: Decision\r Cube/Mxconsts.pas:142 \r Vcl/Mxconsts.pas:142
+msgid "Query lacks a Select/From clause."
+msgstr "La consulta carece de una cláusula Select/From."
+
+#. Programmer's name for it: sArgumentExpected\r
+#: Decision\r Cube/Mxconsts.pas:143 \r Vcl/Mxconsts.pas:143
+msgid "No argument provided for an operator or summary"
+msgstr "No se proveyó ningún argumento para un operador o sumario"
+
+#. Programmer's name for it: sGroupOnExpressionError\r
+#: Decision\r Cube/Mxconsts.pas:144 \r Vcl/Mxconsts.pas:144
+msgid "An expression cannot be used for a grouping field"
+msgstr "No es posible utilizar una expresión para un campo de agrupamiento"
+
+#. Programmer's name for it: SOutofBounds\r
+#: Decision\r Cube/Mxconsts.pas:146 \r Vcl/Mxconsts.pas:146
+msgid "Out of Bounds"
+msgstr "Fuera de Límites"
+
+#. Programmer's name for it: sIDAPILangID\r
+#. Programmer's name for it: SIDAPILangID\r
+#. Programmer's name for it: sIDAPILangID\r
+#: Decision\r Cube/Mxconsts.pas:147 \r Vcl/bdeconst.pas:47 Vcl/Mxconsts.pas:147
+msgid "0009"
+msgstr ""
+
+#. Programmer's name for it: sComponentTabName\r
+#: Decision\r Cube/MXDCONST.PAS:14 \r
+msgid "Decision Cube"
+msgstr "Cubo de Decisión"
+
+#. Programmer's name for it: sQueryVerb0\r
+#: Decision\r Cube/MXDCONST.PAS:15 \r
+msgid "&Graphical Query Builder..."
+msgstr ""
+
+#. Programmer's name for it: sQueryVerb1\r
+#: Decision\r Cube/MXDCONST.PAS:16 \r
+msgid "&Decision Query Editor..."
+msgstr ""
+
+#. Programmer's name for it: sCubeVerb0\r
+#: Decision\r Cube/MXDCONST.PAS:17 \r
+msgid "&Decision Cube Editor..."
+msgstr "&Editor de Cubo de Decisión..."
+
+#. Programmer's name for it: sCubeVerb1\r
+#: Decision\r Cube/MXDCONST.PAS:18 \r
+msgid "&Query Editor..."
+msgstr ""
+
+#. Programmer's name for it: sGridVerb0\r
+#: Decision\r Cube/MXDCONST.PAS:19 \r
+msgid "Sub&totals on/off"
+msgstr "Sub&totales si/no"
+
+#. Programmer's name for it: sSourceVerb0\r
+#: Decision\r Cube/MXDCONST.PAS:20 \r
+msgid "&Do not display Sparse Rows/Columns"
+msgstr ""
+
+#. Programmer's name for it: sSourceVerb1\r
+#: Decision\r Cube/MXDCONST.PAS:21 \r
+msgid "&Display Sparse Rows/Columns"
+msgstr ""
+
+#. Programmer's name for it: sGridDimOptions\r
+#: Decision\r Cube/MXDCONST.PAS:22 \r
+msgid "Grid Dimension Options"
+msgstr "Opciones de la Dimensión de la Rejilla"
+
+#. Programmer's name for it: sGridDimSettings\r
+#: Decision\r Cube/MXDCONST.PAS:23 \r
+msgid "Grid Dimension Settings"
+msgstr "Configuración de la Dimensión de la Rejilla"
+
+#. Programmer's name for it: sCubeProperties\r
+#: Decision\r Cube/MXDCONST.PAS:24 \r
+msgid "Cube Properties"
+msgstr "Propiedades del Cubo"
+
+#. Programmer's name for it: RSAlreadyConnected\r
+#: Indy/IdResourceStrings.pas:7 \r
+msgid "Already connected."
+msgstr "Ya está conectado."
+
+#. Programmer's name for it: RSByteIndexOutOfBounds\r
+#: Indy/IdResourceStrings.pas:8 \r
+msgid "Byte index out of range."
+msgstr "Indice de Byte fuera de rango."
+
+#. Programmer's name for it: RSCannotAllocateSocket\r
+#: Indy/IdResourceStrings.pas:9 \r
+msgid "Cannot allocate socket."
+msgstr "No se encuentra el socket."
+
+#. Programmer's name for it: RSConnectionClosedGracefully\r
+#: Indy/IdResourceStrings.pas:10 \r
+msgid "Connection Closed Gracefully."
+msgstr "Conexión cerrada."
+
+#. Programmer's name for it: RSConnectionClosedGracefully\r
+#: Indy/IdResourceStrings.pas:12 \r
+msgid "Could not bind socket. Address and port are already in use."
+msgstr "Could not bind socket. Address and port are already in use."
+
+#. Programmer's name for it: RSFailedTimeZoneInfo\r
+#: Indy/IdResourceStrings.pas:13 \r
+msgid "Failed attempting to retrieve time zone information."
+msgstr "Fallo al intentar recuperar la información de hora de la zona."
+
+#. Programmer's name for it: RSNoBindingsSpecified\r
+#: Indy/IdResourceStrings.pas:14 \r
+msgid "No bindings specified."
+msgstr "Encuadernación no especificada."
+
+#. Programmer's name for it: RSOnExecuteNotAssigned\r
+#: Indy/IdResourceStrings.pas:15 \r
+msgid "OnExecute not assigned."
+msgstr "Evento OnExecute no asignado."
+
+#. Programmer's name for it: RSNotAllBytesSent\r
+#: Indy/IdResourceStrings.pas:16 \r
+msgid "Not all bytes sent."
+msgstr "No se han enviado todos los bytes."
+
+#. Programmer's name for it: RSNotEnoughDataInBuffer\r
+#: Indy/IdResourceStrings.pas:17 \r
+msgid "Not enough data in buffer."
+msgstr "No hay datos suficientes en el búfer."
+
+#. Programmer's name for it: RSPackageSizeTooBig\r
+#: Indy/IdResourceStrings.pas:18 \r
+msgid "Package Size Too Big."
+msgstr "El tamaño del paquete es demasiado grande."
+
+#. Programmer's name for it: RSUDPReceiveError0\r
+#: Indy/IdResourceStrings.pas:19 \r
+msgid "UDP Receive Error = 0."
+msgstr "Se ha producido un error al recibir UDP = 0."
+
+#. Programmer's name for it: RSRawReceiveError0\r
+#: Indy/IdResourceStrings.pas:20 \r
+msgid "Raw Receive Error = 0."
+msgstr "Se ha producido un error al recibir Raw = 0."
+
+#. Programmer's name for it: RSICMPReceiveError0\r
+#: Indy/IdResourceStrings.pas:21 \r
+msgid "ICMP Receive Error = 0."
+msgstr "Se ha producido un error al recibir ICMP = 0."
+
+#. Programmer's name for it: RSWinsockInitializationError\r
+#: Indy/IdResourceStrings.pas:22 \r
+msgid "Winsock Initialization Error."
+msgstr "Hay un error de inicialización de Winsock."
+
+#. Programmer's name for it: RSCouldNotLoad\r
+#: Indy/IdResourceStrings.pas:23 \r
+msgid "%s could not be loaded."
+msgstr "%s no puede ser cargado."
+
+#. Programmer's name for it: RSSetSizeExceeded\r
+#: Indy/IdResourceStrings.pas:24 \r
+msgid "Set Size Exceeded."
+msgstr "Asignación de tamaño excedida."
+
+#. Programmer's name for it: RSThreadClassNotSpecified\r
+#: Indy/IdResourceStrings.pas:25 \r
+msgid "Thread Class Not Specified."
+msgstr "Clase Thread no especificada."
+
+#. Programmer's name for it: RSCannotChangeDebugTargetAtWhileActive\r
+#: Indy/IdResourceStrings.pas:26 \r
+msgid "Cannot change target while active."
+msgstr "No se puede cambiar objetivo mientras esté activo."
+
+#. Programmer's name for it: RSOnlyOneAntiFreeze\r
+#: Indy/IdResourceStrings.pas:27 \r
+msgid "Only one TIdAntiFreeze can exist per application."
+msgstr "Sólo puede existir un TIdAntiFreeze por aplicación."
+
+#. Programmer's name for it: RSOnlyOneAntiFreeze\r
+#: Indy/IdResourceStrings.pas:29 \r
+msgid "InterceptEnabled cannot be set to true when Intercept is nil."
+msgstr "InterceptEnabled cannot be set to true when Intercept is nil."
+
+#. Programmer's name for it: RSInterceptPropInvalid\r
+#: Indy/IdResourceStrings.pas:30 \r
+msgid "Intercept value is not valid"
+msgstr "Valor de Intercept no válido"
+
+#. Programmer's name for it: RSObjectTypeNotSupported\r
+#: Indy/IdResourceStrings.pas:31 \r
+msgid "Object type not supported."
+msgstr "Tipo de objeto no soportado."
+
+#: Indy/IdResourceStrings.pas:33 \r
+msgid "AcceptWait property cannot be modified while server is active."
+msgstr ""
+
+#. Programmer's name for it: RSNoExecuteSpecified\r
+#: Indy/IdResourceStrings.pas:34 \r
+msgid "No execute handler found."
+msgstr "Ejecución guiada no especificada."
+
+#. Programmer's name for it: RSIdNoDataToRead\r
+#: Indy/IdResourceStrings.pas:35 \r
+msgid "No data to read."
+msgstr "No hay datos para leer."
+
+#. Status Strings\r
+#: Indy/IdResourceStrings.pas:37 \r
+msgid "Resolving hostname %s."
+msgstr ""
+
+#. Programmer's name for it: RSStatusConnecting\r
+#: Indy/IdResourceStrings.pas:38 \r
+msgid "Connecting to %s."
+msgstr "Conectando a %s."
+
+#. Programmer's name for it: RSStatusConnected\r
+#. Programmer's name for it: RSLogConnected\r
+#: Indy/IdResourceStrings.pas:39 \r Indy/IdResourceStrings.pas:327
+msgid "Connected."
+msgstr "Conectado."
+
+#. Programmer's name for it: RSStatusDisconnecting\r
+#: Indy/IdResourceStrings.pas:40 \r
+msgid "Disconnecting from %s."
+msgstr "Desconectando desde %s."
+
+#. Programmer's name for it: RSStatusDisconnected\r
+#: Indy/IdResourceStrings.pas:41 \r
+msgid "Not connected."
+msgstr "No conectado."
+
+#. Programmer's name for it: RSStatusText\r
+#: Indy/IdResourceStrings.pas:42 \r
+msgid "%s"
+msgstr "%s"
+
+#. IdRegister\r
+#: Indy/IdResourceStrings.pas:44 \r
+msgid "Indy Clients"
+msgstr ""
+
+#. Programmer's name for it: RSRegIndyServers\r
+#: Indy/IdResourceStrings.pas:45 \r
+msgid "Indy Servers"
+msgstr "Servidores Indy"
+
+#. Programmer's name for it: RSRegIndyMisc\r
+#: Indy/IdResourceStrings.pas:46 \r
+msgid "Indy Misc"
+msgstr "Indy Misc"
+
+#. IdCoder3To4\r
+#: Indy/IdResourceStrings.pas:48 \r
+msgid "Coding table entry not found."
+msgstr ""
+
+#. MessageClient Strings\r
+#: Indy/IdResourceStrings.pas:50 \r
+msgid "Encoding text"
+msgstr ""
+
+#. Programmer's name for it: RSMsgClientEncodingAttachment\r
+#: Indy/IdResourceStrings.pas:51 \r
+msgid "Encoding attachment"
+msgstr "Codificando datos adjuntos"
+
+#. NNTP Exceptions\r
+#: Indy/IdResourceStrings.pas:53 \r
+msgid "Connection explicitly refused by NNTP server."
+msgstr ""
+
+#. Programmer's name for it: RSNNTPStringListNotInitialized\r
+#: Indy/IdResourceStrings.pas:54 \r
+msgid "Stringlist not initialized!"
+msgstr "Lista no inicializada!"
+
+#. Programmer's name for it: RSNNTPNoOnNewsgroupList\r
+#: Indy/IdResourceStrings.pas:55 \r
+msgid "No OnNewsgroupList event has been defined."
+msgstr "El evento OnNewsgroupList no ha sido definido."
+
+#. Programmer's name for it: RSNNTPNoOnNewGroupsList\r
+#: Indy/IdResourceStrings.pas:56 \r
+msgid "No OnNewGroupsList event has been defined."
+msgstr "El evento OnNewGroupsList no ha sido definido."
+
+#. Programmer's name for it: RSNNTPNoOnNewNewsList\r
+#: Indy/IdResourceStrings.pas:57 \r
+msgid "No OnNewNewsList event has been defined."
+msgstr "El evento OnNewNewsList no ha sido definido."
+
+#. HTTP Status\r
+#: Indy/IdResourceStrings.pas:59 \r
+msgid "Chunk Started"
+msgstr ""
+
+#. Programmer's name for it: RSHTTPContinue\r
+#: Indy/IdResourceStrings.pas:60 \r
+msgid "Continue"
+msgstr "Continuar"
+
+#. Programmer's name for it: RSHTTPSwitchingProtocols\r
+#: Indy/IdResourceStrings.pas:61 \r
+msgid "Switching protocols"
+msgstr "Protocolos Switching"
+
+#. Programmer's name for it: RSHTTPCreated\r
+#: Indy/IdResourceStrings.pas:63 \r
+msgid "Created"
+msgstr "Creado"
+
+#. Programmer's name for it: RSHTTPAccepted\r
+#: Indy/IdResourceStrings.pas:64 \r
+msgid "Accepted"
+msgstr "Aceptado"
+
+#. Programmer's name for it: RSHTTPNonAuthoritativeInformation\r
+#: Indy/IdResourceStrings.pas:65 \r
+msgid "Non-authoritative Information"
+msgstr "Información sin autoridad"
+
+#. Programmer's name for it: RSHTTPNoContent\r
+#: Indy/IdResourceStrings.pas:66 \r
+msgid "No Content"
+msgstr "Sin contenido"
+
+#. Programmer's name for it: RSHTTPResetContent\r
+#: Indy/IdResourceStrings.pas:67 \r
+msgid "Reset Content"
+msgstr "Resetear contenido"
+
+#. Programmer's name for it: RSHTTPPartialContent\r
+#: Indy/IdResourceStrings.pas:68 \r
+msgid "Partial Content"
+msgstr "Contenido parcial"
+
+#. Programmer's name for it: RSHTTPMovedPermanently\r
+#: Indy/IdResourceStrings.pas:69 \r
+msgid "Moved Permanently"
+msgstr "Movido permanentemente"
+
+#. Programmer's name for it: RSHTTPMovedTemporarily\r
+#: Indy/IdResourceStrings.pas:70 \r
+msgid "Moved Temporarily"
+msgstr "Movido temporalmente"
+
+#. Programmer's name for it: RSHTTPSeeOther\r
+#: Indy/IdResourceStrings.pas:71 \r
+msgid "See Other"
+msgstr "Ver otro"
+
+#. Programmer's name for it: RSHTTPNotModified\r
+#: Indy/IdResourceStrings.pas:72 \r
+msgid "Not Modified"
+msgstr "No modificado"
+
+#. Programmer's name for it: RSHTTPUseProxy\r
+#: Indy/IdResourceStrings.pas:73 \r
+msgid "Use Proxy"
+msgstr "Usar Proxy"
+
+#. Programmer's name for it: RSHTTPBadRequest\r
+#: Indy/IdResourceStrings.pas:74 \r
+msgid "Bad Request"
+msgstr "Respuesta errónea"
+
+#. Programmer's name for it: RSHTTPUnauthorized\r
+#: Indy/IdResourceStrings.pas:75 \r
+msgid "Unauthorized"
+msgstr "No autorizado"
+
+#. Programmer's name for it: RSHTTPForbidden\r
+#: Indy/IdResourceStrings.pas:76 \r
+msgid "Forbidden"
+msgstr "Prohibido"
+
+#. Programmer's name for it: RSHTTPNotFound\r
+#: Indy/IdResourceStrings.pas:77 \r
+msgid "Not Found"
+msgstr "No encontrado"
+
+#. Programmer's name for it: RSHTTPMethodeNotallowed\r
+#: Indy/IdResourceStrings.pas:78 \r
+msgid "Method not allowed"
+msgstr "Método no admitido"
+
+#. Programmer's name for it: RSHTTPNotAcceptable\r
+#: Indy/IdResourceStrings.pas:79 \r
+msgid "Not Acceptable"
+msgstr "No aceptable"
+
+#. Programmer's name for it: RSHTTPProxyAuthenticationRequired\r
+#: Indy/IdResourceStrings.pas:80 \r
+msgid "Proxy Authentication Required"
+msgstr "Autentificación de Proxy requerida"
+
+#. Programmer's name for it: RSHTTPRequestTimeout\r
+#: Indy/IdResourceStrings.pas:81 \r
+msgid "Request Timeout"
+msgstr "Respuesta fuera de tiempo"
+
+#. Programmer's name for it: RSHTTPConflict\r
+#: Indy/IdResourceStrings.pas:82 \r
+msgid "Conflict"
+msgstr "Conflicto"
+
+#. Programmer's name for it: RSHTTPGone\r
+#: Indy/IdResourceStrings.pas:83 \r
+msgid "Gone"
+msgstr "Ido"
+
+#. Programmer's name for it: RSHTTPLengthRequired\r
+#: Indy/IdResourceStrings.pas:84 \r
+msgid "Length Required"
+msgstr "Tamaño requerido"
+
+#. Programmer's name for it: RSHTTPPreconditionFailed\r
+#: Indy/IdResourceStrings.pas:85 \r
+msgid "Precondition Failed"
+msgstr "Precondición fallida"
+
+#. Programmer's name for it: RSHTTPRequestEntityToLong\r
+#: Indy/IdResourceStrings.pas:86 \r
+msgid "Request Entity To Long"
+msgstr "Entidad de respuesta a alargar"
+
+#. Programmer's name for it: RSHTTPRequestURITooLong\r
+#: Indy/IdResourceStrings.pas:87 \r
+msgid "Request-URI Too Long. 256 Chars max"
+msgstr "Respuesta URI demasiado larga. 256 caracteres máximo"
+
+#. Programmer's name for it: RSHTTPUnsupportedMediaType\r
+#: Indy/IdResourceStrings.pas:88 \r
+msgid "Unsupported Media Type"
+msgstr "Tipo de medio no soportado"
+
+#. Programmer's name for it: RSHTTPInternalServerError\r
+#: Indy/IdResourceStrings.pas:89 \r
+msgid "Internal Server Error"
+msgstr "Hay un error interno del servidor"
+
+#. Programmer's name for it: RSHTTPNotImplemented\r
+#: Indy/IdResourceStrings.pas:90 \r
+msgid "Not Implemented"
+msgstr "No implementado"
+
+#. Programmer's name for it: RSHTTPBadGateway\r
+#: Indy/IdResourceStrings.pas:91 \r
+msgid "Bad Gateway"
+msgstr "Gateway erróneo"
+
+#. Programmer's name for it: RSHTTPServiceUnavailable\r
+#: Indy/IdResourceStrings.pas:92 \r
+msgid "Service Unavailable"
+msgstr "Servicio no disponible"
+
+#. Programmer's name for it: RSHTTPGatewayTimeout\r
+#: Indy/IdResourceStrings.pas:93 \r
+msgid "Gateway timeout"
+msgstr "Gateway fuera de tiempo"
+
+#. Programmer's name for it: RSHTTPHTTPVersionNotSupported\r
+#: Indy/IdResourceStrings.pas:94 \r
+msgid "HTTP version not supported"
+msgstr "Versión de HTTP no soportada"
+
+#. Programmer's name for it: RSHTTPUnknownResponseCode\r
+#: Indy/IdResourceStrings.pas:95 \r
+msgid "Unknown Response Code"
+msgstr "Código de respuesta desconocido"
+
+#. HTTP Other\r
+#: Indy/IdResourceStrings.pas:97 \r
+msgid "Header has already been written."
+msgstr ""
+
+#. Programmer's name for it: RSHTTPErrorParsingCommand\r
+#: Indy/IdResourceStrings.pas:98 \r
+msgid "Error in parsing command."
+msgstr "Hay un error en el comando de corrección."
+
+#. Programmer's name for it: RSHTTPUnsupportedAuthorisationScheme\r
+#: Indy/IdResourceStrings.pas:99 \r
+msgid "Unsupported authorization scheme."
+msgstr "Combinación de autorización no soportada."
+
+#. Programmer's name for it: RSHTTPUnsupportedAuthorisationScheme\r
+#: Indy/IdResourceStrings.pas:101 \r
+msgid "Cannot change session state when the server is active."
+msgstr ""
+
+#. FTP\r
+#. Programmer's name for it: SUnknown\r
+#: Indy/IdResourceStrings.pas:104 \r Internet/XMLDoc.pas:512
+msgid "Unknown"
+msgstr ""
+
+#. Property editor exceptions\r
+#: Indy/IdResourceStrings.pas:106 \r
+msgid "%s is corrupt."
+msgstr ""
+
+#. Programmer's name for it: RSInvalidServiceName\r
+#: Indy/IdResourceStrings.pas:107 \r
+msgid "%s is not a valid service."
+msgstr "%s no es un servicio válido."
+
+#. Stack Error Messages\r
+#: Indy/IdResourceStrings.pas:109 \r
+msgid ""
+"Socket Error # %d\n"
+"%s"
+msgstr ""
+
+#. Programmer's name for it: RSStackEINTR\r
+#: Indy/IdResourceStrings.pas:110 \r
+msgid "Interrupted system call."
+msgstr "Llamada de sistema interrumpida."
+
+#. Programmer's name for it: RSStackEBADF\r
+#: Indy/IdResourceStrings.pas:111 \r
+msgid "Bad file number."
+msgstr "Numero de archivo erróneo."
+
+#. Programmer's name for it: RSStackEACCES\r
+#: Indy/IdResourceStrings.pas:112 \r
+msgid "Access denied."
+msgstr "Acceso denegado."
+
+#. Programmer's name for it: RSStackEFAULT\r
+#: Indy/IdResourceStrings.pas:113 \r
+msgid "Bad address."
+msgstr "Dirección errónea."
+
+#. Programmer's name for it: RSStackEINVAL\r
+#: Indy/IdResourceStrings.pas:114 \r
+msgid "Invalid argument."
+msgstr "Argumento no válido."
+
+#. Programmer's name for it: RSStackEMFILE\r
+#: Indy/IdResourceStrings.pas:115 \r
+msgid "Too many open files."
+msgstr "Demasiados archivos abiertos."
+
+#. Programmer's name for it: RSStackEWOULDBLOCK\r
+#: Indy/IdResourceStrings.pas:116 \r
+msgid "Operation would block. "
+msgstr "Bloquearía la operación. "
+
+#. Programmer's name for it: RSStackEINPROGRESS\r
+#: Indy/IdResourceStrings.pas:117 \r
+msgid "Operation now in progress."
+msgstr "Operación ahora en progreso."
+
+#. Programmer's name for it: RSStackEALREADY\r
+#: Indy/IdResourceStrings.pas:118 \r
+msgid "Operation already in progress."
+msgstr "Operación ya en progreso."
+
+#. Programmer's name for it: RSStackENOTSOCK\r
+#: Indy/IdResourceStrings.pas:119 \r
+msgid "Socket operation on non-socket."
+msgstr "Operación de Socket en non-socket."
+
+#. Programmer's name for it: RSStackEDESTADDRREQ\r
+#: Indy/IdResourceStrings.pas:120 \r
+msgid "Destination address required."
+msgstr "Dirección de destino requerida."
+
+#. Programmer's name for it: RSStackEMSGSIZE\r
+#: Indy/IdResourceStrings.pas:121 \r
+msgid "Message too long."
+msgstr "Mensaje demasiado largo."
+
+#. Programmer's name for it: RSStackEPROTOTYPE\r
+#: Indy/IdResourceStrings.pas:122 \r
+msgid "Protocol wrong type for socket."
+msgstr "Protocolo de tipo incorrecto para socket."
+
+#. Programmer's name for it: RSStackENOPROTOOPT\r
+#: Indy/IdResourceStrings.pas:123 \r
+msgid "Bad protocol option."
+msgstr "Opción de protocolo errónea."
+
+#. Programmer's name for it: RSStackEPROTONOSUPPORT\r
+#: Indy/IdResourceStrings.pas:124 \r
+msgid "Protocol not supported."
+msgstr "Protocolo no soportado."
+
+#. Programmer's name for it: RSStackESOCKTNOSUPPORT\r
+#: Indy/IdResourceStrings.pas:125 \r
+msgid "Socket type not supported."
+msgstr "Tipo de Socket no soportado."
+
+#. Programmer's name for it: RSStackEOPNOTSUPP\r
+#: Indy/IdResourceStrings.pas:126 \r
+msgid "Operation not supported on socket."
+msgstr "Operación no soportada en socket."
+
+#. Programmer's name for it: RSStackEPFNOSUPPORT\r
+#: Indy/IdResourceStrings.pas:127 \r
+msgid "Protocol family not supported."
+msgstr "Familia de protocolo no soportada."
+
+#. Programmer's name for it: RSStackEAFNOSUPPORT\r
+#: Indy/IdResourceStrings.pas:128 \r
+msgid "Address family not supported by protocol family."
+msgstr "Address family not supported by protocol family."
+
+#. Programmer's name for it: RSStackEADDRINUSE\r
+#: Indy/IdResourceStrings.pas:129 \r
+msgid "Address already in use."
+msgstr "Dirección ya en uso."
+
+#. Programmer's name for it: RSStackEADDRNOTAVAIL\r
+#: Indy/IdResourceStrings.pas:130 \r
+msgid "Cannot assign requested address."
+msgstr "No se puede asignar dirección de respuesta."
+
+#. Programmer's name for it: RSStackENETDOWN\r
+#: Indy/IdResourceStrings.pas:131 \r
+msgid "Network is down."
+msgstr "Red caída."
+
+#. Programmer's name for it: RSStackENETUNREACH\r
+#: Indy/IdResourceStrings.pas:132 \r
+msgid "Network is unreachable."
+msgstr ""
+
+#. Programmer's name for it: RSStackENETRESET\r
+#: Indy/IdResourceStrings.pas:133 \r
+msgid "Net dropped connection or reset."
+msgstr "Conexión de red caída o reseteada"
+
+#. Programmer's name for it: RSStackECONNABORTED\r
+#: Indy/IdResourceStrings.pas:134 \r
+msgid "Software caused connection abort."
+msgstr "El software causo que se abortara la conexión."
+
+#. Programmer's name for it: RSStackECONNRESET\r
+#: Indy/IdResourceStrings.pas:135 \r
+msgid "Connection reset by peer."
+msgstr "Connection reset by peer."
+
+#. Programmer's name for it: RSStackENOBUFS\r
+#: Indy/IdResourceStrings.pas:136 \r
+msgid "No buffer space available."
+msgstr "Espacio del búfer no disponible."
+
+#. Programmer's name for it: RSStackEISCONN\r
+#: Indy/IdResourceStrings.pas:137 \r
+msgid "Socket is already connected."
+msgstr "El Socket está actualmente conectado."
+
+#. Programmer's name for it: RSStackENOTCONN\r
+#: Indy/IdResourceStrings.pas:138 \r
+msgid "Socket is not connected."
+msgstr "El Socket no está conectado."
+
+#. Programmer's name for it: RSStackESHUTDOWN\r
+#: Indy/IdResourceStrings.pas:139 \r
+msgid "Cannot send or receive after socket is closed."
+msgstr "No se puede enviar y/o recibir una vez que el socket esté cerrado."
+
+#. Programmer's name for it: RSStackETOOMANYREFS\r
+#: Indy/IdResourceStrings.pas:140 \r
+msgid "Too many references, cannot splice."
+msgstr "Demasiadas referencias, no se pueden unir."
+
+#. Programmer's name for it: RSStackETIMEDOUT\r
+#: Indy/IdResourceStrings.pas:141 \r
+msgid "Connection timed out."
+msgstr "Conexión fuera de tiempo."
+
+#. Programmer's name for it: RSStackECONNREFUSED\r
+#. Programmer's name for it: RSSocksServerConnectionRefusedError\r
+#: Indy/IdResourceStrings.pas:142 \r Indy/IdResourceStrings.pas:284
+msgid "Connection refused."
+msgstr "Conexión rechazada."
+
+#. Programmer's name for it: RSStackELOOP\r
+#: Indy/IdResourceStrings.pas:143 \r
+msgid "Too many levels of symbolic links."
+msgstr "Demasiados niveles de enlaces simbólicos."
+
+#. Programmer's name for it: RSStackENAMETOOLONG\r
+#: Indy/IdResourceStrings.pas:144 \r
+msgid "File name too long."
+msgstr "Nombre de archivo demasiado largo."
+
+#. Programmer's name for it: RSStackEHOSTDOWN\r
+#: Indy/IdResourceStrings.pas:145 \r
+msgid "Host is down."
+msgstr "Host caído."
+
+#. Programmer's name for it: RSStackEHOSTUNREACH\r
+#: Indy/IdResourceStrings.pas:146 \r
+msgid "No route to host."
+msgstr "No guiado al host."
+
+#. Programmer's name for it: RSStackENOTEMPTY\r
+#: Indy/IdResourceStrings.pas:147 \r
+msgid "Directory not empty"
+msgstr "Directorio no vacío"
+
+#. Programmer's name for it: RSStackEPROCLIM\r
+#: Indy/IdResourceStrings.pas:148 \r
+msgid "Too many processes."
+msgstr "Demasiados procesos."
+
+#. Programmer's name for it: RSStackEUSERS\r
+#: Indy/IdResourceStrings.pas:149 \r
+msgid "Too many users."
+msgstr "Demasiados usuarios."
+
+#. Programmer's name for it: RSStackEDQUOT\r
+#: Indy/IdResourceStrings.pas:150 \r
+msgid "Disk Quota Exceeded."
+msgstr "Cuenta de tamaño en disco excedida."
+
+#. Programmer's name for it: RSStackESTALE\r
+#: Indy/IdResourceStrings.pas:151 \r
+msgid "Stale NFS file handle."
+msgstr ""
+
+#. Programmer's name for it: RSStackEREMOTE\r
+#: Indy/IdResourceStrings.pas:152 \r
+msgid "Too many levels of remote in path."
+msgstr "Demasiados niveles de la ruta remota."
+
+#. Programmer's name for it: RSStackSYSNOTREADY\r
+#: Indy/IdResourceStrings.pas:153 \r
+msgid "Network subsystem is unavailable."
+msgstr "Subsistema de red no disponible."
+
+#. Programmer's name for it: RSStackVERNOTSUPPORTED\r
+#: Indy/IdResourceStrings.pas:154 \r
+msgid "WINSOCK DLL Version out of range."
+msgstr "Versión WINSOCK DLL fuera de rango."
+
+#. Programmer's name for it: RSStackNOTINITIALISED\r
+#: Indy/IdResourceStrings.pas:155 \r
+msgid "Winsock not loaded yet."
+msgstr "Winsock no cargado todavía."
+
+#. Programmer's name for it: RSStackHOST_NOT_FOUND\r
+#: Indy/IdResourceStrings.pas:156 \r
+msgid "Host not found."
+msgstr "Host no encontrado."
+
+#. Programmer's name for it: RSStackHOST_NOT_FOUND\r
+#: Indy/IdResourceStrings.pas:158 \r
+msgid "Non-authoritative response (try again or check DNS setup)."
+msgstr ""
+
+#. Programmer's name for it: RSStackNO_RECOVERY\r
+#: Indy/IdResourceStrings.pas:159 \r
+msgid "Non-recoverable errors: FORMERR, REFUSED, NOTIMP."
+msgstr "Errores no recuperables: FORMERR, REFUSED, NOTIMP."
+
+#. Programmer's name for it: RSStackNO_DATA\r
+#: Indy/IdResourceStrings.pas:160 \r
+msgid "Valid name, no data record (check DNS setup)."
+msgstr "Nombre válido, datos no grabados (verifique la configuración DNS)."
+
+#. Programmer's name for it: RSCMDNotRecognized\r
+#: Indy/IdResourceStrings.pas:162 \r
+msgid "command not recognized"
+msgstr "comando no reconocido"
+
+#. Programmer's name for it: RSGopherNotGopherPlus\r
+#: Indy/IdResourceStrings.pas:164 \r
+msgid "%s is not a Gopher+ server"
+msgstr "%s no es un servidor Gopher+"
+
+#. Programmer's name for it: RSCodeNoError\r
+#: Indy/IdResourceStrings.pas:166 \r
+msgid "RCode NO Error"
+msgstr "Hay un error RCode NO"
+
+#. Programmer's name for it: RSCodeQueryFormat\r
+#: Indy/IdResourceStrings.pas:167 \r
+msgid "DNS Server Reports Query Format Error"
+msgstr "El servidor DNS mostró un error en el formato de la consulta"
+
+#. Programmer's name for it: RSCodeQueryServer\r
+#: Indy/IdResourceStrings.pas:168 \r
+msgid "DNS Server Reports Query Server Error"
+msgstr "El servidor DNS mostró un error del servidor en la consulta"
+
+#. Programmer's name for it: RSCodeQueryName\r
+#: Indy/IdResourceStrings.pas:169 \r
+msgid "DNS Server Reports Query Name Error"
+msgstr "El servidor DNS mostró un error en el nombre de la consulta"
+
+#. Programmer's name for it: RSCodeQueryNotImplemented\r
+#: Indy/IdResourceStrings.pas:170 \r
+msgid "DNS Server Reports Query Not Implemented Error"
+msgstr "El servidor DNS mostró un error de No Implementación en la consulta"
+
+#. Programmer's name for it: RSCodeQueryQueryRefused\r
+#: Indy/IdResourceStrings.pas:171 \r
+msgid "DNS Server Reports Query Refused Error"
+msgstr "El servidor DNS mostró un error de rechazo en la consulta"
+
+#. Programmer's name for it: RSCodeQueryUnknownError\r
+#: Indy/IdResourceStrings.pas:172 \r
+msgid "Server Returned Unknown Error"
+msgstr "El servidor retornó un error desconocido"
+
+#. Programmer's name for it: RSDNSMFIsObsolete\r
+#: Indy/IdResourceStrings.pas:174 \r
+msgid "MF is an Obsolete Command. USE MX."
+msgstr "MF es un comando obsoleto. USE MX."
+
+#. Programmer's name for it: RSDNSMDISObsolete\r
+#: Indy/IdResourceStrings.pas:175 \r
+msgid "MD is an Obsolete Command. Use MX."
+msgstr "MD es un comando obsoleto. Use MX."
+
+#. Programmer's name for it: RSDNSMailAObsolete\r
+#: Indy/IdResourceStrings.pas:176 \r
+msgid "MailA is an Obsolete Command. USE MX."
+msgstr "MailA es un comando obsoleto. USE MX."
+
+#. Programmer's name for it: RSDNSMailBNotImplemented\r
+#: Indy/IdResourceStrings.pas:177 \r
+msgid "-Err 501 MailB is not implemented"
+msgstr "-Err 501 MailB no está implementado"
+
+#. Programmer's name for it: RSQueryInvalidQueryCount\r
+#: Indy/IdResourceStrings.pas:179 \r
+msgid "Invaild Query Count %d"
+msgstr "Contador %d de consulta no válido"
+
+#. Programmer's name for it: RSQueryInvalidPacketSize\r
+#: Indy/IdResourceStrings.pas:180 \r
+msgid "Invalid Packet Size %d"
+msgstr "Tamaño de paquete no válido %d"
+
+#. Programmer's name for it: RSQueryLessThanFour\r
+#: Indy/IdResourceStrings.pas:181 \r
+msgid "Received Packet is too small. Less than 4 bytes %d"
+msgstr "El paquete recibido es demasiado pequeño. Más que 4 bytes %d"
+
+#. Programmer's name for it: RSQueryInvalidHeaderID\r
+#: Indy/IdResourceStrings.pas:182 \r
+msgid "Invalid Header Id %d"
+msgstr "Id %d de cabecera invalido"
+
+#. Programmer's name for it: RSQueryLessThanTwelve\r
+#: Indy/IdResourceStrings.pas:183 \r
+msgid "Received Packet is too small. Less than 12 bytes %d"
+msgstr "El paquete recibido es demasiado pequeño. Más que 12 bytes %d"
+
+#. Programmer's name for it: RSQueryPackReceivedTooSmall\r
+#: Indy/IdResourceStrings.pas:184 \r
+msgid "Received Packet is too small. %d"
+msgstr "El paquete recibido es demasiado pequeño. %d"
+
+#. Programmer's name for it: RSLPDDataFileSaved\r
+#: Indy/IdResourceStrings.pas:187 \r
+msgid "Data file saved to %s"
+msgstr "Datos de archivo guardados en %s"
+
+#. Programmer's name for it: RSLPDControlFileSaved\r
+#: Indy/IdResourceStrings.pas:188 \r
+msgid "Control file save to %s"
+msgstr "Archivo de control guardado en %s"
+
+#. Programmer's name for it: RSLPDDirectoryDoesNotExist\r
+#: Indy/IdResourceStrings.pas:189 \r
+msgid "Directory %s does not exist"
+msgstr "El directorio %s no existe"
+
+#. Programmer's name for it: RSLPDServerStartTitle\r
+#: Indy/IdResourceStrings.pas:190 \r
+msgid "Winshoes LPD Server %s "
+msgstr "Servidor Winshoes LPD %s "
+
+#. Programmer's name for it: RSLPDServerActive\r
+#: Indy/IdResourceStrings.pas:191 \r
+msgid "Server status: active"
+msgstr "Estado del servidor: activo"
+
+#. Programmer's name for it: RSLPDQueueStatus\r
+#: Indy/IdResourceStrings.pas:192 \r
+msgid "Queue %s status: %s"
+msgstr "Estado de la cola %s : %s"
+
+#. Programmer's name for it: RSLPDClosingConnection\r
+#: Indy/IdResourceStrings.pas:193 \r
+msgid "closing connection"
+msgstr "Cerrando conexión"
+
+#. Programmer's name for it: RSLPDUnknownQueue\r
+#: Indy/IdResourceStrings.pas:194 \r
+msgid "Unknown queue %s"
+msgstr "Cola %s desconocida"
+
+#. Programmer's name for it: RSLPDConnectTo\r
+#: Indy/IdResourceStrings.pas:195 \r
+msgid "connected with %s"
+msgstr "Conectado con %s"
+
+#. Programmer's name for it: RSLPDAbortJob\r
+#: Indy/IdResourceStrings.pas:196 \r
+msgid "abort job"
+msgstr "Abortar trabajo"
+
+#. Programmer's name for it: RSLPDReceiveControlFile\r
+#: Indy/IdResourceStrings.pas:197 \r
+msgid "Receive control file"
+msgstr "Recibir archivo de control"
+
+#. Programmer's name for it: RSLPDReceiveDataFile\r
+#: Indy/IdResourceStrings.pas:198 \r
+msgid "Receive data file"
+msgstr "Recibir archivo de datos"
+
+#. Programmer's name for it: RSLPDNoQueuesDefined\r
+#: Indy/IdResourceStrings.pas:201 \r
+msgid "Error: no queues defined"
+msgstr "Error: Listas de trabajo no definidas"
+
+#. Programmer's name for it: RSTimeOut\r
+#. SocketForm..Pages..PropPage..TimeoutGroup..Caption\r
+#: Indy/IdResourceStrings.pas:204 \r Vcl/ScktMain.dfm:180
+msgid "Timeout"
+msgstr "Fuera de tiempo"
+
+#. Programmer's name for it: RSTFTPUnexpectedOp\r
+#: Indy/IdResourceStrings.pas:205 \r
+msgid "Unexpected operation from %s:%d"
+msgstr "Operación inesperada desde %s:%d"
+
+#. Programmer's name for it: RSTFTPUnsupportedTrxMode\r
+#: Indy/IdResourceStrings.pas:206 \r
+msgid "Unsupported transfer mode: \"%s\""
+msgstr "Modo de trasnferencia no soportado: \"%s\""
+
+#. Programmer's name for it: RSTFTPUnsupportedTrxMode\r
+#: Indy/IdResourceStrings.pas:208 \r
+msgid "Unable to complete write request, progress halted at %d bytes"
+msgstr ""
+
+#. Programmer's name for it: RSTFTPFileNotFound\r
+#: Indy/IdResourceStrings.pas:209 \r
+msgid "Unable to open %s"
+msgstr "No se puede abrir %s"
+
+#. Programmer's name for it: RSTFTPAccessDenied\r
+#: Indy/IdResourceStrings.pas:210 \r
+msgid "Access to %s denied"
+msgstr "Acceso a %s denegado"
+
+#. Programmer's name for it: RSTIdTextInvalidCount\r
+#: Indy/IdResourceStrings.pas:213 \r
+msgid "Invalid Text count. TIdText must be greater than 1"
+msgstr "Contador de texto no válido. TIdText debe ser mayor que 1"
+
+#. Programmer's name for it: RSTIdTextInvalidCount\r
+#: Indy/IdResourceStrings.pas:215 \r
+msgid "TIdMessagePart can not be created. Use descendant classes. "
+msgstr "TIdMessagePart no puede ser creado. Use descendant classes. "
+
+#. Programmer's name for it: RSPOP3FieldNotSpecified\r
+#: Indy/IdResourceStrings.pas:218 \r
+msgid " not specified"
+msgstr " no especificado"
+
+#. Programmer's name for it: RSTELNETSRVUsernamePrompt\r
+#: Indy/IdResourceStrings.pas:221 \r
+msgid "Username: "
+msgstr "Nombre de usuario: "
+
+#. Programmer's name for it: RSTELNETSRVPasswordPrompt\r
+#: Indy/IdResourceStrings.pas:222 \r
+msgid "Password: "
+msgstr "Contraseña: "
+
+#. Programmer's name for it: RSTELNETSRVInvalidLogin\r
+#: Indy/IdResourceStrings.pas:223 \r
+msgid "Invalid Login."
+msgstr "Nombre de usuario no válido."
+
+#. Programmer's name for it: RSTELNETSRVMaxloginAttempt\r
+#: Indy/IdResourceStrings.pas:224 \r
+msgid "Allowed login attempts exceeded, good bye."
+msgstr "No se permiten más intentos de acceso, adios."
+
+#. Programmer's name for it: RSTELNETSRVNoAuthHandler\r
+#: Indy/IdResourceStrings.pas:225 \r
+msgid "No authentication handler has been specified."
+msgstr "No ha sido espeficiada una atentifiación."
+
+#. Programmer's name for it: RSTELNETSRVWelcomeString\r
+#: Indy/IdResourceStrings.pas:226 \r
+msgid "Indy Telnet Server"
+msgstr "Servidor Telnet Indy"
+
+#. Programmer's name for it: RSTELNETSRVOnDataAvailableIsNil\r
+#: Indy/IdResourceStrings.pas:227 \r
+msgid "OnDataAvailable event is nil."
+msgstr "El evento OnDataAvailable es nulo."
+
+#. Programmer's name for it: RSTELNETCLIConnectError\r
+#: Indy/IdResourceStrings.pas:230 \r
+msgid "server not responding"
+msgstr "server not responding"
+
+#. Programmer's name for it: RSTELNETCLIReadError\r
+#: Indy/IdResourceStrings.pas:231 \r
+msgid "Server did not respond."
+msgstr "El servidor no respondió."
+
+#. Programmer's name for it: RSNETCALInvalidIPString\r
+#: Indy/IdResourceStrings.pas:234 \r
+msgid "The string %s does not translate into a valid IP."
+msgstr "El texto %s no se puede pasar a una IP válida."
+
+#. Programmer's name for it: RSNETCALCInvalidNetworkMask\r
+#: Indy/IdResourceStrings.pas:235 \r
+msgid "Invalid network mask."
+msgstr "Máscara de red no válida."
+
+#. Programmer's name for it: RSNETCALCInvalidValueLength\r
+#: Indy/IdResourceStrings.pas:236 \r
+msgid "Invalid value length: Should be 32."
+msgstr "Valor de anchura no válido: Debe ser 32."
+
+#. Programmer's name for it: RSNETCALCInvalidValueLength\r
+#: Indy/IdResourceStrings.pas:238 \r
+msgid ""
+"There is too many IP addresses in the specified range (%d) to be displayed "
+"at design time."
+msgstr ""
+"There is too many IP addresses in the specified range (%d) to be displayed "
+"at design time."
+
+#. Programmer's name for it: RSAAboutFormCaption\r
+#: Indy/IdResourceStrings.pas:241 \r
+msgid "About"
+msgstr "Acerca de..."
+
+#. Programmer's name for it: RSAAboutBoxCompName\r
+#: Indy/IdResourceStrings.pas:242 \r
+msgid "Internet Direct (Indy)"
+msgstr "Internet Direct (Indy)"
+
+#. Programmer's name for it: RSAAboutMenuItemName\r
+#: Indy/IdResourceStrings.pas:243 \r
+msgid "About Internet &Direct (Indy) %s..."
+msgstr "Acerca de Internet &Direct (Indy) %s..."
+
+#. Programmer's name for it: RSAAboutBoxVersion\r
+#: Indy/IdResourceStrings.pas:244 \r
+msgid "Version %s"
+msgstr "Versión %s"
+
+#. Programmer's name for it: RSAAboutBoxCopyright\r
+#: Indy/IdResourceStrings.pas:250 \r
+msgid "For the latest updates and information please visit:"
+msgstr "For the latest updates and information please visit:"
+
+#. Programmer's name for it: RSAAboutBoxIndyWebsite\r
+#: Indy/IdResourceStrings.pas:251 \r
+msgid "http://www.nevrona.com/indy/"
+msgstr "http://www.nevrona.com/indy/"
+
+#. Programmer's name for it: RSAAboutCreditsCoordinator\r
+#: Indy/IdResourceStrings.pas:252 \r
+msgid "Project Coordinator"
+msgstr "Coordinador de proyecto"
+
+#. Programmer's name for it: RSAAboutCreditsCoCordinator\r
+#: Indy/IdResourceStrings.pas:253 \r
+msgid "Project Co-Coordinator"
+msgstr "Ayte. de Coordinador de proyecto"
+
+#. Programmer's name for it: RSAAboutCreditsCoCordinator\r
+#: Indy/IdResourceStrings.pas:257 \r
+msgid "Call to %s.GetByte [property Bytes] with index <> [0..%d]"
+msgstr ""
+
+#. Programmer's name for it: RSTunnelTransformErrorBS\r
+#: Indy/IdResourceStrings.pas:258 \r
+msgid "Error in transformation before send"
+msgstr "Hay un error en la transformación antes enviada"
+
+#. Programmer's name for it: RSTunnelTransformError\r
+#: Indy/IdResourceStrings.pas:259 \r
+msgid "Transform failed"
+msgstr "Tranformación fallida"
+
+#. Programmer's name for it: RSTunnelCRCFailed\r
+#: Indy/IdResourceStrings.pas:260 \r
+msgid "CRC Failed"
+msgstr "CRC fallido"
+
+#. Programmer's name for it: RSTunnelConnectMsg\r
+#: Indy/IdResourceStrings.pas:261 \r
+msgid "Connecting"
+msgstr "Conectando"
+
+#. Programmer's name for it: RSTunnelDisconnectMsg\r
+#: Indy/IdResourceStrings.pas:262 \r
+msgid "Disconnect"
+msgstr "Desconectado"
+
+#. Programmer's name for it: RSTunnelConnectToMasterFailed\r
+#: Indy/IdResourceStrings.pas:263 \r
+msgid "Cannt connect to the Master server"
+msgstr "No se puede conectar al servidor maestro"
+
+#. Programmer's name for it: RSTunnelDontAllowConnections\r
+#: Indy/IdResourceStrings.pas:264 \r
+msgid "Do not allow connctions now"
+msgstr "No se encuentran conecxiones ahora"
+
+#. Programmer's name for it: RSTunnelMessageTypeError\r
+#: Indy/IdResourceStrings.pas:265 \r
+msgid "Message type recognition error"
+msgstr "Hay un error de tipo de reconocimiento"
+
+#. Programmer's name for it: RSTunnelMessageHandlingError\r
+#: Indy/IdResourceStrings.pas:266 \r
+msgid "Message handling failed"
+msgstr "Message handling failed"
+
+#. Programmer's name for it: RSTunnelMessageInterpretError\r
+#: Indy/IdResourceStrings.pas:267 \r
+msgid "Interpretation of message failed"
+msgstr "Interpretación de mensaje fallida"
+
+#. Programmer's name for it: RSTunnelMessageCustomInterpretError\r
+#: Indy/IdResourceStrings.pas:268 \r
+msgid "Custom message interpretation failed"
+msgstr "Interpretación del mensaje personalizado fallida"
+
+#. Programmer's name for it: RSSocksRequestFailed\r
+#: Indy/IdResourceStrings.pas:271 \r
+msgid "Request rejected or failed."
+msgstr "Respuesta rechazada o fallida."
+
+#. Programmer's name for it: RSSocksRequestFailed\r
+#: Indy/IdResourceStrings.pas:273 \r
+msgid "Request rejected because SOCKS server cannot connect."
+msgstr "Request rejected because SOCKS server cannot connect."
+
+#. Programmer's name for it: RSSocksRequestFailed\r
+#: Indy/IdResourceStrings.pas:275 \r
+msgid ""
+"Request rejected because the client program and identd report different user-"
+"ids."
+msgstr ""
+"Request rejected because the client program and identd report different user-"
+"ids."
+
+#. Programmer's name for it: RSSocksUnknownError\r
+#: Indy/IdResourceStrings.pas:276 \r
+msgid "Unknown socks error."
+msgstr "Hay un error de sock desconocido."
+
+#. Programmer's name for it: RSSocksServerRespondError\r
+#: Indy/IdResourceStrings.pas:277 \r
+msgid "Socks server did not respond."
+msgstr "El Sock del servidor no respondió."
+
+#. Programmer's name for it: RSSocksAuthMethodError\r
+#: Indy/IdResourceStrings.pas:278 \r
+msgid "Invalid socks authentication method."
+msgstr "Método de autentificación de socks no válida."
+
+#. Programmer's name for it: RSSocksAuthError\r
+#: Indy/IdResourceStrings.pas:279 \r
+msgid "Authentication error to socks server."
+msgstr "Hay un error de autentificación al socks del servidor."
+
+#. Programmer's name for it: RSSocksServerGeneralError\r
+#: Indy/IdResourceStrings.pas:280 \r
+msgid "General SOCKS server failure."
+msgstr "Hay un error general de SOCKS del servidor."
+
+#. Programmer's name for it: RSSocksServerPermissionError\r
+#: Indy/IdResourceStrings.pas:281 \r
+msgid "Connection not allowed by ruleset."
+msgstr "Conexión no soportada por ruleset."
+
+#. Programmer's name for it: RSSocksServerNetUnreachableError\r
+#: Indy/IdResourceStrings.pas:282 \r
+msgid "Network unreachable."
+msgstr "Red inaccesible."
+
+#. Programmer's name for it: RSSocksServerHostUnreachableError\r
+#: Indy/IdResourceStrings.pas:283 \r
+msgid "Host unreachable."
+msgstr "Host inaccesible."
+
+#. Programmer's name for it: RSSocksServerTTLExpiredError\r
+#: Indy/IdResourceStrings.pas:285 \r
+msgid "TTL expired."
+msgstr "TTL caducada."
+
+#. Programmer's name for it: RSSocksServerCommandError\r
+#: Indy/IdResourceStrings.pas:286 \r
+msgid "Command not supported."
+msgstr "Comando no soportado."
+
+#. Programmer's name for it: RSSocksServerAddressError\r
+#: Indy/IdResourceStrings.pas:287 \r
+msgid "Address type not supported."
+msgstr "Tipo de dirección no soportada."
+
+#. Programmer's name for it: RSDestinationFileAlreadyExists\r
+#: Indy/IdResourceStrings.pas:290 \r
+msgid "Destination file already exists."
+msgstr "El archivo de destino ya existe."
+
+#. Programmer's name for it: RSSSLAcceptError\r
+#: Indy/IdResourceStrings.pas:293 \r
+msgid "Error accepting connection with SSL."
+msgstr "Se ha producido un error al aceptar la conexión con SSL."
+
+#. Programmer's name for it: RSSSLConnectError\r
+#: Indy/IdResourceStrings.pas:294 \r
+msgid "Error connecting with SSL."
+msgstr "Se ha producido un error al conectar con SSL."
+
+#. Programmer's name for it: RSSSLSettingChiperError\r
+#: Indy/IdResourceStrings.pas:295 \r
+msgid "SetCipher failed."
+msgstr "SetCipher fallido."
+
+#. Programmer's name for it: RSSSLCreatingContextError\r
+#: Indy/IdResourceStrings.pas:296 \r
+msgid "Error creating SSL context."
+msgstr "Se ha producido un error al crear un contexto SSL."
+
+#. Programmer's name for it: RSSSLLoadingRootCertError\r
+#: Indy/IdResourceStrings.pas:297 \r
+msgid "Could not load root certificate."
+msgstr "No se puede leer el certificado del administrador."
+
+#. Programmer's name for it: RSSSLLoadingCertError\r
+#: Indy/IdResourceStrings.pas:298 \r
+msgid "Could not load certificate."
+msgstr "No se puede leer el certificado."
+
+#. Programmer's name for it: RSSSLLoadingKeyError\r
+#: Indy/IdResourceStrings.pas:299 \r
+msgid "Could not load key, check password."
+msgstr "No se puede cargar la clave, verifique la contraseña."
+
+#. Programmer's name for it: RSSSLGetMethodError\r
+#: Indy/IdResourceStrings.pas:300 \r
+msgid "Error geting SSL method."
+msgstr "Se ha producido un error al obtener un método SSL."
+
+#. Programmer's name for it: RSSSLDataBindingError\r
+#: Indy/IdResourceStrings.pas:301 \r
+msgid "Error binding data to SSL socket."
+msgstr "Se ha producido un error al encuadernar datos al socket SSL."
+
+#. Programmer's name for it: RSMsgCmpEdtrNew\r
+#: Indy/IdResourceStrings.pas:303 \r
+msgid "&New Message Part..."
+msgstr "&Nueva parte de mensaje..."
+
+#. Programmer's name for it: RSMsgCmpEdtrExtraHead\r
+#: Indy/IdResourceStrings.pas:304 \r
+msgid "Extra Headers Text Editor"
+msgstr "Editor de texto de cabeceras extra"
+
+#. Programmer's name for it: RSMsgCmpEdtrBodyText\r
+#: Indy/IdResourceStrings.pas:305 \r
+msgid "Body Text Editor"
+msgstr "Editor de texto del cuerpo"
+
+#. Programmer's name for it: RSICMPNotEnoughtBytes\r
+#: Indy/IdResourceStrings.pas:307 \r
+msgid "Not enough bytes received"
+msgstr "No se han recibido los suficientes datos"
+
+#. Programmer's name for it: RSICMPNonEchoResponse\r
+#: Indy/IdResourceStrings.pas:308 \r
+msgid "Non-echo type response received"
+msgstr "Respuesta recibida de tipo No-Eco"
+
+#. Programmer's name for it: RSICMPWrongDestination\r
+#: Indy/IdResourceStrings.pas:309 \r
+msgid "Received someone else's packet"
+msgstr "Recibidos algunos paquetes"
+
+#. Programmer's name for it: RSNNTPServerNotRecognized\r
+#: Indy/IdResourceStrings.pas:311 \r
+msgid "command not recognized (%s)"
+msgstr "Comando no reconocido (%s)"
+
+#. Programmer's name for it: RSNNTPServerGoodBye\r
+#: Indy/IdResourceStrings.pas:312 \r
+msgid "Goodbye"
+msgstr "Adios"
+
+#. Programmer's name for it: RSGopherServerNoProgramCode\r
+#: Indy/IdResourceStrings.pas:314 \r
+msgid "Error: No program code to return request!"
+msgstr "Error: Sin código de programa para ofrecer respuesta!"
+
+#. Programmer's name for it: RSOSSLModeNotSet\r
+#: Indy/IdResourceStrings.pas:317 \r
+msgid "Mode has not been set."
+msgstr "El modo no ha sido asignado."
+
+#. Programmer's name for it: RSOSSLCouldNotLoadSSLLibrary\r
+#: Indy/IdResourceStrings.pas:318 \r
+msgid "Could not load SSL library."
+msgstr "No se puede leer la librería SSL."
+
+#. Programmer's name for it: RSOSSLStatusString\r
+#: Indy/IdResourceStrings.pas:319 \r
+msgid "SSL status: \"%s\""
+msgstr "Estado SSL: \"%s\""
+
+#. Programmer's name for it: RSOSSLConnectionDropped\r
+#: Indy/IdResourceStrings.pas:320 \r
+msgid "SSL connection has dropped."
+msgstr "La conexión SSL ha sido detenida."
+
+#. Programmer's name for it: RSOSSLCertificateLookup\r
+#: Indy/IdResourceStrings.pas:321 \r
+msgid "SSL certificate request error."
+msgstr "Hay un error en la respuesta de certificado SSL."
+
+#. Programmer's name for it: RSOSSLInternal\r
+#: Indy/IdResourceStrings.pas:322 \r
+msgid "SSL library internal error."
+msgstr "Hay un error interno de librería SSL."
+
+#. Programmer's name for it: RSWSockStack\r
+#: Indy/IdResourceStrings.pas:325 \r
+msgid "Winsock stack"
+msgstr "Winsock stack"
+
+#. Programmer's name for it: RSLogRecV\r
+#: Indy/IdResourceStrings.pas:328 \r
+msgid "Recv: "
+msgstr "Recivido: "
+
+#. Programmer's name for it: RSLogSent\r
+#: Indy/IdResourceStrings.pas:329 \r
+msgid "Sent: "
+msgstr "Enviado: "
+
+#. Programmer's name for it: RSLogDisconnected\r
+#: Indy/IdResourceStrings.pas:330 \r
+msgid "Disconnected."
+msgstr "Desconectado."
+
+#. Programmer's name for it: RSLogEOL\r
+#: Indy/IdResourceStrings.pas:331 \r
+msgid "<EOL>"
+msgstr "<EOL>"
+
+#. Programmer's name for it: sActionDoesNotProvideResponse\r
+#: Internet/AdaptReq.pas:459 \r
+msgid "Action does not provide response"
+msgstr ""
+
+#. Programmer's name for it: sActionCantRespondToUnkownHTTPMethod\r
+#: Internet/AdaptReq.pas:460 \r
+msgid "Action can't respone to unknown HTTP method"
+msgstr ""
+
+#. Programmer's name for it: sActionCantRedirectToBlankURL\r
+#: Internet/AdaptReq.pas:461 \r
+msgid "Action can't redirect to blank URL"
+msgstr ""
+
+#. Programmer's name for it: sOnlyOneDataModuleAllowed\r
+#: Internet/BrkrConst.pas:20 \r
+msgid "Only one data module per application"
+msgstr "Sólo se permite un módulo de datos por aplicación"
+
+#. Programmer's name for it: sNoDataModulesRegistered\r
+#: Internet/BrkrConst.pas:21 \r
+msgid "No data modules registered"
+msgstr "No hay módulos de datos registrados"
+
+#. Programmer's name for it: sNoDispatcherComponent\r
+#: Internet/BrkrConst.pas:22 \r
+msgid "No dispatcher component found on data module"
+msgstr ""
+
+#. Programmer's name for it: sNoWebModulesActivated\r
+#: Internet/BrkrConst.pas:23 \r
+msgid "No automatically activated data modules"
+msgstr ""
+
+#. Programmer's name for it: sTooManyActiveConnections\r
+#: Internet/BrkrConst.pas:25 \r
+msgid ""
+"Maximum number of concurrent connections exceeded. Please try again later"
+msgstr ""
+
+#. Programmer's name for it: sInternalServerError\r
+#: Internet/BrkrConst.pas:29 \r
+msgid ""
+"<html><title>Internal Server Error 500</title>\n"
+"<h1>Internal Server Error 500</h1><hr>\n"
+"Exception: %s<br>\n"
+"Message: %s<br></html>\n"
+msgstr ""
+
+#. Programmer's name for it: sDocumentMoved\r
+#: Internet/BrkrConst.pas:33 \r
+msgid ""
+"<html><title>Document Moved 302</title>\n"
+"<body><h1>Object Moved</h1><hr>\n"
+"This Object may be found <a HREF=\"%s\">here.</a><br>\n"
+"<br></body></html>\n"
+msgstr ""
+
+#. Programmer's name for it: SDescription\r
+#: Internet/DTDSchema.pas:57 \r
+msgid "DTD to XML Schema Translator (.dtd <-> .xsd)"
+msgstr ""
+
+#. Programmer's name for it: SNodeExpected\r
+#: Internet/msxmldom.pas:401 \r
+msgid "Node cannot be null"
+msgstr ""
+
+#. Programmer's name for it: SMSDOMNotInstalled\r
+#: Internet/msxmldom.pas:402 \r
+msgid "Microsoft MSXML is not installed"
+msgstr ""
+
+#. Programmer's name for it: sInvalidISAPIApp\r
+#: Internet/NSToIS.pas:109 \r
+msgid "Invalid ISAPI application: %s"
+msgstr ""
+
+#. Programmer's name for it: sUnSupportedISAPIApp\r
+#: Internet/NSToIS.pas:110 \r
+msgid "Unsupported ISAPI Application version: %.8x"
+msgstr ""
+
+#. Programmer's name for it: sGEVFailed\r
+#: Internet/NSToIS.pas:111 \r
+msgid "Call to GetExtensionVersion FAILED. Error Code: %d"
+msgstr ""
+
+#. Programmer's name for it: sErrorLoadingISAPIApp\r
+#: Internet/NSToIS.pas:112 \r
+msgid "Error loading ISAPI Application: %s"
+msgstr ""
+
+#. Programmer's name for it: sInvalidRedirectParam\r
+#: Internet/NSToIS.pas:113 \r
+msgid "Invalid Redirect parameter"
+msgstr ""
+
+#. Programmer's name for it: sISAPIAppError\r
+#: Internet/NSToIS.pas:114 \r
+msgid "ISAPI Application Error"
+msgstr ""
+
+#. Adapter errors\r
+#: Internet/SiteConst.pas:16 \r
+msgid "Field %s requires a value"
+msgstr ""
+
+#. Programmer's name for it: sFieldDoesNotAllowMultipleValues\r
+#: Internet/SiteConst.pas:17 \r
+msgid "%s does not allow multiple values"
+msgstr ""
+
+#. Programmer's name for it: sFieldDoesNotAllowMultipleFiles\r
+#: Internet/SiteConst.pas:18 \r
+msgid "%s does not allow multiple files"
+msgstr ""
+
+#. Programmer's name for it: sFieldRequiresAFile\r
+#: Internet/SiteConst.pas:19 \r
+msgid "%s requires a file"
+msgstr ""
+
+#. Programmer's name for it: sFieldModificationNotPermitted\r
+#: Internet/SiteConst.pas:20 \r
+msgid "Modification of %s is not permitted"
+msgstr ""
+
+#. Programmer's name for it: sActionExecutionNotPermitted\r
+#: Internet/SiteConst.pas:21 \r
+msgid "Execution of action %s is not permitted"
+msgstr ""
+
+#. Programmer's name for it: sFieldViewNotPermitted\r
+#: Internet/SiteConst.pas:22 \r
+msgid "Field view not permitted"
+msgstr ""
+
+#. Programmer's name for it: sAdapterModificationNotPermitted\r
+#: Internet/SiteConst.pas:23 \r
+msgid "Data Modification is not permitted"
+msgstr ""
+
+#. Programmer's name for it: sFileUploadNotSupported\r
+#: Internet/SiteConst.pas:24 \r
+msgid "%s does not support file upload"
+msgstr ""
+
+#. Programmer's name for it: sNoLoginPage\r
+#: Internet/SiteConst.pas:25 \r
+msgid "Login page is not defined"
+msgstr ""
+
+#. Programmer's name for it: sPageNotFound\r
+#: Internet/SiteConst.pas:26 \r
+msgid "Web Page not found: %s"
+msgstr ""
+
+#. Programmer's name for it: sPageContentNotProvided\r
+#: Internet/SiteConst.pas:27 \r
+msgid "Web Page does not provide content"
+msgstr ""
+
+#. Programmer's name for it: sImageNotProvided\r
+#: Internet/SiteConst.pas:28 \r
+msgid "Field %s did not provide an image"
+msgstr ""
+
+#. DataSetAdapter errors\r
+#: Internet/SiteConst.pas:31 \r
+msgid "Unknown Adapter mode: %s"
+msgstr "Modo de adaptador desconocido: %s"
+
+#. Programmer's name for it: sNilAdapterDataSet\r
+#: Internet/SiteConst.pas:32 \r
+msgid "DataSet is nil"
+msgstr "DataSet no está asignado"
+
+#. Programmer's name for it: sAdapterRowNotFound\r
+#: Internet/SiteConst.pas:33 \r
+msgid "Row not found in %s"
+msgstr "No se ha encontrado la fila en %s"
+
+#. Programmer's name for it: sFieldChangedByAnotherUser\r
+#: Internet/SiteConst.pas:34 \r
+msgid "Field %s changed by another user"
+msgstr ""
+
+#. Programmer's name for it: sAdapterFieldNotFound\r
+#: Internet/SiteConst.pas:35 \r
+msgid "Field not found: %s"
+msgstr ""
+
+#. Programmer's name for it: sDataSetPropertyIsNil\r
+#: Internet/SiteConst.pas:36 \r
+msgid "%s: DataSet property is nil"
+msgstr "%s: Propiedad DataSet no está asignada"
+
+#. Programmer's name for it: sDataSetUnknownKeyFields\r
+#: Internet/SiteConst.pas:37 \r
+msgid "%0:s: Dataset %1:s unknown keyfields"
+msgstr ""
+
+#. Programmer's name for it: sDataSetNotActive\r
+#: Internet/SiteConst.pas:38 \r
+msgid "%0:s: Dataset %1:s not active"
+msgstr "%0:s: Dataset %1:s no está activa"
+
+#. Programmer's name for it: sValueFieldIsBlank\r
+#: Internet/SiteConst.pas:39 \r
+msgid "%0:s: ValueField property value is blank"
+msgstr ""
+
+#. XSLPageProducer errors\r
+#: Internet/SiteConst.pas:42 \r
+msgid "Missing XML Data Component"
+msgstr "Se ha perdido el componente de datos XML"
+
+#. Programmer's name for it: SNoXMLDocument\r
+#: Internet/SiteConst.pas:43 \r
+msgid "Could not create XMLDocument"
+msgstr ""
+
+#. Add Adapter Fields Editor\r
+#. Programmer's name for it: sAddFieldItems\r
+#: Internet/SiteConst.pas:46 \r Internet/SiteConst.pas:59
+msgid "Add Fields..."
+msgstr ""
+
+#. Programmer's name for it: sAddAllAdapterData\r
+#. Programmer's name for it: sAddAllFieldItems\r
+#: Internet/SiteConst.pas:47 \r Internet/SiteConst.pas:60
+msgid "Add All Fields"
+msgstr ""
+
+#. Programmer's name for it: sAddAdapterDataDlgCaption\r
+#. Programmer's name for it: sAddFieldItemsDlgCaption\r
+#. AddFields..Caption\r
+#: Internet/SiteConst.pas:48 \r Internet/SiteConst.pas:61 Property\r
+#: Editors/DSAdd.dfm:6
+msgid "Add Fields"
+msgstr ""
+
+#. Programmer's name for it: sAddAdapterActions\r
+#: Internet/SiteConst.pas:49 \r
+msgid "Add Actions..."
+msgstr ""
+
+#. Programmer's name for it: sAddAllAdapterActions\r
+#: Internet/SiteConst.pas:50 \r
+msgid "Add All Actions"
+msgstr ""
+
+#. Programmer's name for it: sAddAdapterActionsDlgCaption\r
+#: Internet/SiteConst.pas:51 \r
+msgid "Add Actions"
+msgstr ""
+
+#. Do not location\r
+#. Programmer's name for it: sActionCategoryName\r
+#: Internet/SiteConst.pas:52 \r ToolsAPI/DesignIntf.pas:428
+msgid "Action"
+msgstr ""
+
+#. Programmer's name for it: sAddCommands\r
+#: Internet/SiteConst.pas:53 \r
+msgid "Add Commands..."
+msgstr ""
+
+#. Programmer's name for it: sAddAllCommands\r
+#: Internet/SiteConst.pas:54 \r
+msgid "Add All Commands"
+msgstr ""
+
+#. Programmer's name for it: sAddCommandsDlgCaption\r
+#: Internet/SiteConst.pas:55 \r
+msgid "Add Commands"
+msgstr ""
+
+#. Programmer's name for it: sAddColumns\r
+#: Internet/SiteConst.pas:56 \r
+msgid "Add Columns..."
+msgstr ""
+
+#. Programmer's name for it: sAddAllColumns\r
+#: Internet/SiteConst.pas:57 \r
+msgid "Add All Columns"
+msgstr ""
+
+#. Programmer's name for it: sAddColumnsDlgCaption\r
+#: Internet/SiteConst.pas:58 \r
+msgid "Add Columns"
+msgstr ""
+
+#. SitePageProducer errors\r
+#: Internet/SiteConst.pas:65 \r
+msgid "%s: Adapter property is nil"
+msgstr ""
+
+#. Programmer's name for it: sAdapterFieldNameIsBlank\r
+#: Internet/SiteConst.pas:66 \r
+msgid "%s: Fieldname is blank"
+msgstr ""
+
+#. 0 - Component name, 1 - Adapter Field name\r
+#: Internet/SiteConst.pas:67 \r
+msgid "%0:s: Field %1:s not found in associated Adapter"
+msgstr ""
+
+#. Programmer's name for it: sAdapterActionNameIsBlank\r
+#: Internet/SiteConst.pas:68 \r
+msgid "%s: Action name is blank"
+msgstr ""
+
+#. 0 - Component name, 1 - Adapter Action name\r
+#: Internet/SiteConst.pas:69 \r
+msgid "%0:s: Action %1:s not found in associated Adapter"
+msgstr ""
+
+#. Programmer's name for it: sDisplayComponentPropertyIsNil\r
+#: Internet/SiteConst.pas:70 \r
+msgid "%s: DisplayComponent property is nil"
+msgstr ""
+
+#. LoginAdapter validation\r
+#: Internet/SiteConst.pas:75 \r
+msgid "Password must not be blank"
+msgstr ""
+
+#. Programmer's name for it: sBlankUserName\r
+#: Internet/SiteConst.pas:76 \r
+msgid "Username must not be blank"
+msgstr ""
+
+#. 0 - Request identifier, 1 - object identifier\r
+#: Internet/SiteConst.pas:79 \r
+msgid "Adapter Request not handled: %0:s, %1:s"
+msgstr ""
+
+#. Programmer's name for it: sDispatchBlankPageName\r
+#: Internet/SiteConst.pas:80 \r
+msgid "Dispatching blank page name"
+msgstr ""
+
+#. Programmer's name for it: sPageAccessDenied\r
+#: Internet/SiteConst.pas:81 \r
+msgid "Page access denied"
+msgstr "Acceso denegado a la página"
+
+#. Programmer's name for it: sPageDoesNotSupportRedirect\r
+#: Internet/SiteConst.pas:82 \r
+msgid "Web Page does not support redirect"
+msgstr ""
+
+#. Include errors\r
+#: Internet/SiteConst.pas:85 \r
+msgid "Can't find included page: %s"
+msgstr ""
+
+#. Programmer's name for it: sInclusionNotSupported\r
+#: Internet/SiteConst.pas:86 \r
+msgid "Page %s does not support inclusion"
+msgstr ""
+
+#. Programmer's name for it: sRecursiveIncludeFile\r
+#: Internet/SiteConst.pas:87 \r
+msgid "Include file %s includes itself"
+msgstr ""
+
+#. DB Image errors\r
+#: Internet/SiteConst.pas:90 \r
+msgid "Incorrect image format (%s) for field %%s"
+msgstr ""
+
+#. Programmer's name for it: sFileExpected\r
+#: Internet/SiteConst.pas:91 \r
+msgid "Uploaded file expected for field %s"
+msgstr ""
+
+#. WebUserList names - must be valid identifiers\r
+#: Internet/SiteConst.pas:94 \r
+msgid "UserName"
+msgstr "Nombre de usuario"
+
+#. Programmer's name for it: sWebUserPassword\r
+#. PasswordDialog..GroupBox1..Caption\r
+#: Internet/SiteConst.pas:95 \r Clx/QDBPWDlg.xfm:42 Vcl/DbPWDlg.dfm:40
+msgid "Password"
+msgstr "Contraseña"
+
+#. Programmer's name for it: sWebUserAccessRights\r
+#: Internet/SiteConst.pas:96 \r
+msgid "AccessRights"
+msgstr ""
+
+#. WebUserList errors\r
+#: Internet/SiteConst.pas:99 \r
+msgid "UserID not found"
+msgstr "UserID no se ha encontrado."
+
+#. Programmer's name for it: sInvalidPassword\r
+#: Internet/SiteConst.pas:100 \r
+msgid "Invalid password"
+msgstr "Contraseña no válida"
+
+#. Programmer's name for it: sMissingPassword\r
+#: Internet/SiteConst.pas:101 \r
+msgid "Missing password"
+msgstr ""
+
+#. Programmer's name for it: sUnknownUserName\r
+#: Internet/SiteConst.pas:102 \r
+msgid "Unknown user name"
+msgstr "Nombre de usuario desconocido"
+
+#. Programmer's name for it: sMissingUserName\r
+#: Internet/SiteConst.pas:103 \r
+msgid "Missing user name"
+msgstr ""
+
+#. Script errors\r
+#: Internet/SiteConst.pas:107 \r
+msgid "Cannot create script engine: %s. Error: %x"
+msgstr ""
+
+#. 4 - source line text\r
+#: Internet/SiteConst.pas:144 \r
+msgid ""
+"<table width=\"95%%\" border=\"1\" cellspacing=\"0\" bordercolor=\"#C0C0C0"
+"\">\n"
+"<tr>\n"
+"<td colspan=2>\n"
+"<font color=\"#727272\"><b>Error[%0:d]:</b> \n"
+"%1:s\n"
+"</font>\n"
+"</td>\n"
+"</tr>\n"
+"<tr>\n"
+"<td>\n"
+"<font color=\"#727272\"><b>Line:</b> \n"
+"%2:d\n"
+"</font>\n"
+"</td>\n"
+"<td>\n"
+"<font color=\"#727272\"><b>Position:</b> \n"
+"%3:d\n"
+"</font>\n"
+"</td>\n"
+"</tr>\n"
+"</table>\n"
+msgstr ""
+
+#. Programmer's name for it: sMaximumSessionsExceeded\r
+#: Internet/SiteConst.pas:146 \r
+msgid "Maximum sessions exceeded"
+msgstr ""
+
+#. Programmer's name for it: sVariableNotFound\r
+#: Internet/SiteConst.pas:147 \r
+msgid "Variable not found: %s"
+msgstr "No se ha encontrado la variable: %s"
+
+#. Programmer's name for it: sComponentDoesNotSupportScripting\r
+#: Internet/SiteConst.pas:148 \r
+msgid "Component does not support scripting. Class: %0:s, Name: %1:s"
+msgstr ""
+
+#. Programmer's name for it: sClassDoesNotSupportScripting\r
+#: Internet/SiteConst.pas:149 \r
+msgid "Object does not support scripting. Class: %0:s"
+msgstr ""
+
+#. Programmer's name for it: sWebAppDebugger\r
+#: Internet/SvrConst.pas:14 \r
+msgid "Web App Debugger"
+msgstr ""
+
+#. Programmer's name for it: sStopServer\r
+#: Internet/SvrConst.pas:15 \r
+msgid "Stop"
+msgstr ""
+
+#. Programmer's name for it: sStartServer\r
+#: Internet/SvrConst.pas:16 \r
+msgid "Start"
+msgstr ""
+
+#. Programmer's name for it: sCouldNotOpenRegKey\r
+#: Internet/SvrConst.pas:17 \r
+msgid "Unable to not open registry key: %s"
+msgstr "No se puede abrir la llave del registro: %s"
+
+#. Programmer's name for it: sUnauthorizedString\r
+#. Programmer's name for it: UnauthorizedString\r
+#: Internet/SvrConst.pas:23 \r Internet/SvrConst.pas:66
+msgid ""
+"<HTML><HEAD><TITLE>Unauthorized</TITLE></HEAD><BODY><H1>Unauthorized</"
+"H1>Proper authorization is required for this area. Either your browser does "
+"not perform authorization, or your authorization has failed.</BODY></HTML>\n"
+msgstr ""
+
+#. Programmer's name for it: sForbiddenString\r
+#. Programmer's name for it: ForbiddenString\r
+#: Internet/SvrConst.pas:24 \r Internet/SvrConst.pas:67
+msgid ""
+"<HTML><TITLE>The requested URL is forbidden</TITLE><BODY><H1>The requested "
+"URL is forbidden</H1><P>HTTP status code: 403</BODY></HTML>\n"
+msgstr ""
+
+#. Programmer's name for it: sNoDirBrowseString\r
+#. Programmer's name for it: NoDirBrowseString\r
+#: Internet/SvrConst.pas:25 \r Internet/SvrConst.pas:68
+msgid ""
+"<HTML><TITLE>Directory browsing is forbidden</TITLE><BODY><H1>The requested "
+"URL is forbidden</H1><P>HTTP status code: 403</BODY></HTML>\n"
+msgstr ""
+
+#. Programmer's name for it: sBadRequest\r
+#. Programmer's name for it: BadRequest\r
+#: Internet/SvrConst.pas:26 \r Internet/SvrConst.pas:69
+msgid ""
+"<HTML><TITLE>Invalid HTTP request: Method not allowed for HTTP/1.0</"
+"TITLE><BODY><H1>Invalid HTTP request: Method not allowed for HTTP/1.0</"
+"H1><P>HTTP status code: 400</BODY></HTML>\n"
+msgstr ""
+
+#. Programmer's name for it: sBadRequest\r
+#. Programmer's name for it: BadRequest\r
+#: Internet/SvrConst.pas:32 \r Internet/SvrConst.pas:75
+msgid ""
+"<TITLE>The requested URL was not found</TITLE><BODY><H1>The requested URL "
+"was not found</H1><P>HTTP status code: 404</BODY>"
+msgstr ""
+
+#. Programmer's name for it: sBadRequest\r
+#: Internet/SvrConst.pas:39 \r
+msgid ""
+"<TITLE>Internal Server Error</TITLE><BODY><H1>Internal Server Error</"
+"H1><P>HTTP status code: 500<P>HTTP error message: %s</BODY>"
+msgstr ""
+
+#. Programmer's name for it: sInvalidActionRegistration\r
+#: Internet/SvrConst.pas:41 \r Internet/WebConst.pas:22
+msgid "Invalid Action registration"
+msgstr ""
+
+#. Programmer's name for it: sErrorEvent\r
+#: Internet/SvrConst.pas:42 \r
+msgid "ERROR"
+msgstr ""
+
+#. Programmer's name for it: sResponseEvent\r
+#: Internet/SvrConst.pas:43 \r
+msgid "RESPONSE"
+msgstr ""
+
+#. Programmer's name for it: sEvent\r
+#: Internet/SvrConst.pas:44 \r
+msgid "Event"
+msgstr ""
+
+#. Programmer's name for it: sTime\r
+#. Programmer's name for it: STimeDescription\r
+#: Internet/SvrConst.pas:45 \r Rtl/Common/StdConvs.pas:452
+msgid "Time"
+msgstr "Hora"
+
+#. Programmer's name for it: sDate\r
+#: Internet/SvrConst.pas:46 \r
+msgid "Date"
+msgstr ""
+
+#. Programmer's name for it: sElapsed\r
+#: Internet/SvrConst.pas:47 \r
+msgid "Elapsed"
+msgstr ""
+
+#. Programmer's name for it: sPath\r
+#: Internet/SvrConst.pas:48 \r
+msgid "Path"
+msgstr ""
+
+#. Programmer's name for it: sCode\r
+#: Internet/SvrConst.pas:49 \r
+msgid "Code"
+msgstr ""
+
+#. Programmer's name for it: sContentLength\r
+#: Internet/SvrConst.pas:50 \r
+msgid "Content Length"
+msgstr ""
+
+#. Programmer's name for it: sContentType\r
+#: Internet/SvrConst.pas:51 \r
+msgid "Content Type"
+msgstr "Tipo de contenido"
+
+#. Programmer's name for it: sThread\r
+#: Internet/SvrConst.pas:52 \r
+msgid "Thread"
+msgstr "Thread (hilo)"
+
+#. Programmer's name for it: sNoDefaultURL\r
+#: Internet/SvrConst.pas:54 \r
+msgid "(none)"
+msgstr ""
+
+#. Programmer's name for it: sLogTab\r
+#: Internet/SvrConst.pas:55 \r
+msgid "Log(%d)"
+msgstr ""
+
+#. Programmer's name for it: sSend\r
+#: Internet/SvrConst.pas:57 \r
+msgid "Send"
+msgstr ""
+
+#. Programmer's name for it: sReceive\r
+#: Internet/SvrConst.pas:58 \r
+msgid "Receive"
+msgstr "Recibir"
+
+#. Programmer's name for it: sLogStrTemplate\r
+#: Internet/SvrConst.pas:59 \r
+msgid "%s %s Error: (%d)%s"
+msgstr ""
+
+#. Programmer's name for it: DateFormat\r
+#: Internet/SvrConst.pas:76 \r
+msgid "ddd, dd mmm yyyy hh:mm:ss"
+msgstr ""
+
+#. Programmer's name for it: sBuild\r
+#: Internet/SvrConst.pas:77 \r
+msgid "Build"
+msgstr ""
+
+#. Programmer's name for it: sDirHeader\r
+#: Internet/SvrConst.pas:79 \r
+msgid ""
+"<HTML><HEAD><TITLE>Directory of %s</TITLE></HEAD><BODY><H1>Directory of %0:"
+"s</H1>\n"
+msgstr ""
+
+#. Programmer's name for it: sDirParent\r
+#: Internet/SvrConst.pas:80 \r
+msgid ""
+"Up to <A HREF=\"%s\">%0:s</A>\n"
+"<UL>"
+msgstr ""
+
+#. Programmer's name for it: sDirRoot\r
+#: Internet/SvrConst.pas:81 \r
+msgid ""
+"Up to <A HREF=\"%s\">root directory</A>\n"
+"<UL>"
+msgstr ""
+
+#. Programmer's name for it: sDirEntry\r
+#: Internet/SvrConst.pas:82 \r
+msgid "<LI>[ <A HREF=\"%s\">%s</A> ]\n"
+msgstr "<LI>[ <A HREF=\"%s\">%s</A> ]\n"
+
+#. Programmer's name for it: sFileEntry\r
+#: Internet/SvrConst.pas:83 \r
+msgid "<LI><A HREF=\"%s\">%s</A> (%d bytes)\n"
+msgstr "<LI><A HREF=\"%s\">%s</A> (%d bytes)\n"
+
+#. Programmer's name for it: sListStart\r
+#: Internet/SvrConst.pas:84 \r
+msgid "<UL>\n"
+msgstr "<UL>\n"
+
+#. Programmer's name for it: sDirFooter\r
+#: Internet/SvrConst.pas:85 \r
+msgid "</UL></BODY></HTML>\n"
+msgstr "</UL></BODY></HTML>\n"
+
+#. Programmer's name for it: sFileStatus\r
+#: Internet/SvrInfoConst.pas:13 \r
+msgid "File Status:"
+msgstr ""
+
+#. Programmer's name for it: sFound\r
+#: Internet/SvrInfoConst.pas:14 \r
+msgid "Found"
+msgstr "Encontrado"
+
+#. Programmer's name for it: sNotFound\r
+#: Internet/SvrInfoConst.pas:15 \r
+msgid "Not found"
+msgstr "No encontrado"
+
+#. Programmer's name for it: sMissingClsID\r
+#: Internet/SvrInfoConst.pas:16 \r
+msgid "Missing ClassID"
+msgstr ""
+
+#. Programmer's name for it: sGo\r
+#: Internet/SvrInfoConst.pas:17 \r
+msgid "Go"
+msgstr "Ir"
+
+#. Programmer's name for it: sDataSetFieldBlank\r
+#: Internet/WbmConst.pas:15 \r
+msgid "Data set field is blank"
+msgstr ""
+
+#. Programmer's name for it: sDataSetFieldNotFound\r
+#: Internet/WbmConst.pas:16 \r
+msgid "Data set field not found: %s"
+msgstr "No se ha encontrado el campo del dataset: %s"
+
+#. Programmer's name for it: sNotDataSetField\r
+#: Internet/WbmConst.pas:17 \r
+msgid "Field is not a dataset field: %s"
+msgstr ""
+
+#. Programmer's name for it: ScriptTableName\r
+#: Internet/WbmConst.pas:18 \r
+msgid "%s_Table"
+msgstr ""
+
+#. Programmer's name for it: sNoXMLBroker\r
+#: Internet/WbmConst.pas:19 \r
+msgid "%s: missing XMLBroker"
+msgstr ""
+
+#. Programmer's name for it: sFieldNotFound\r
+#: Internet/WbmConst.pas:20 \r
+msgid "%0:s: Field \"%1:s\" not found"
+msgstr ""
+
+#. Programmer's name for it: sXMLBrokerNotDefined\r
+#: Internet/WbmConst.pas:21 \r
+msgid "%s.XMLBroker = nil"
+msgstr ""
+
+#. Programmer's name for it: sSubmitQuery\r
+#: Internet/WbmConst.pas:22 \r
+msgid "Submit"
+msgstr ""
+
+#. Programmer's name for it: sResetQuery\r
+#: Internet/WbmConst.pas:23 \r
+msgid "Reset"
+msgstr "Reinicializa"
+
+#. Programmer's name for it: sApplyUpdates\r
+#: Internet/WbmConst.pas:24 \r
+msgid "Apply Updates"
+msgstr ""
+
+#. Programmer's name for it: sFieldNameBlank\r
+#: Internet/WbmConst.pas:25 \r
+msgid "%s.FieldName = ''"
+msgstr ""
+
+#. Programmer's name for it: sXMLComponentNotDefined\r
+#: Internet/WbmConst.pas:26 \r
+msgid "%s.XMLComponent = nil"
+msgstr ""
+
+#. Programmer's name for it: ScriptNamesVar\r
+#: Internet/WbmConst.pas:27 \r
+msgid "%s_Names"
+msgstr ""
+
+#. Programmer's name for it: ScriptIDsVar\r
+#: Internet/WbmConst.pas:28 \r
+msgid "%s_IDs"
+msgstr ""
+
+#. Programmer's name for it: ScriptXMLDisplayName\r
+#: Internet/WbmConst.pas:29 \r
+msgid "%s_Disp"
+msgstr ""
+
+#. Programmer's name for it: sInvalidParent\r
+#: Internet/WbmConst.pas:30 \r Internet/WebConst.pas:46
+msgid "Invalid parent"
+msgstr "Padre no válido"
+
+#. Programmer's name for it: sInvalidParentClass\r
+#: Internet/WbmConst.pas:31 \r
+msgid "Invalid parent class: %s"
+msgstr "Clase de padre no válido: %s"
+
+#. Programmer's name for it: sDuplicateStatusField\r
+#: Internet/WbmConst.pas:32 \r
+msgid "Field %s ignored, only one status field allowed"
+msgstr ""
+
+#. Programmer's name for it: sFirstButton\r
+#: Internet/WbmConst.pas:33 \r
+msgid "|<"
+msgstr ""
+
+#. Programmer's name for it: sLastButton\r
+#: Internet/WbmConst.pas:34 \r
+msgid ">|"
+msgstr ""
+
+#. Programmer's name for it: sPriorButton\r
+#: Internet/WbmConst.pas:35 \r
+msgid "<"
+msgstr ""
+
+#. Programmer's name for it: sNextButton\r
+#: Internet/WbmConst.pas:36 \r
+msgid ">"
+msgstr ""
+
+#. Programmer's name for it: sPriorPageButton\r
+#: Internet/WbmConst.pas:37 \r
+msgid "<<"
+msgstr ""
+
+#. Programmer's name for it: sNextPageButton\r
+#: Internet/WbmConst.pas:38 \r
+msgid ">>"
+msgstr ""
+
+#. Programmer's name for it: sDeleteButton\r
+#: Internet/WbmConst.pas:39 \r
+msgid " - "
+msgstr ""
+
+#. Programmer's name for it: sInsertButton\r
+#: Internet/WbmConst.pas:40 \r
+msgid " + "
+msgstr ""
+
+#. Programmer's name for it: sUndoButton\r
+#. Programmer's name for it: sUndoComponent\r
+#: Internet/WbmConst.pas:41 \r ToolsAPI/DesignEditors.pas:2767
+msgid "Undo"
+msgstr ""
+
+#. Programmer's name for it: sPostButton\r
+#: Internet/WbmConst.pas:42 \r
+msgid "Post"
+msgstr ""
+
+#. Programmer's name for it: sWarningsBody\r
+#: Internet/WbmConst.pas:47 \r
+msgid ""
+"<TABLE BORDER=1 CELLPADDING=4>\n"
+"<TR><TD><P ALIGN=CENTER>Design-time Warnings<P>\n"
+"%s\n"
+"</TD></TD>\n"
+"</TABLE>\n"
+msgstr ""
+
+#. Programmer's name for it: ScriptDocumentVarName\r
+#: Internet/WbmConst.pas:48 \r
+msgid "%s_Doc"
+msgstr ""
+
+#. Programmer's name for it: ScriptXMLVarName\r
+#: Internet/WbmConst.pas:49 \r
+msgid "%s_XML"
+msgstr ""
+
+#. Programmer's name for it: sInvalidWebComponentsCreation\r
+#: Internet/WbmConst.pas:50 \r
+msgid "Invalid Web component creation"
+msgstr ""
+
+#. Programmer's name for it: ScriptRowSetVarName\r
+#: Internet/WbmConst.pas:51 \r
+msgid "%s_RS"
+msgstr ""
+
+#. Programmer's name for it: sApplyUpdatesError\r
+#: Internet/WbmConst.pas:52 \r
+msgid "ApplyUpdates error. Error count: %d."
+msgstr ""
+
+#. Programmer's name for it: sDeltaNotFound\r
+#: Internet/WbmConst.pas:53 \r
+msgid "Missing Delta Packet"
+msgstr ""
+
+#. Programmer's name for it: sXMLBrokerNotConnected\r
+#: Internet/WbmConst.pas:54 \r
+msgid "XMLBroker: %s is not connected"
+msgstr "XMLBroker: %s no está conectado."
+
+#. Programmer's name for it: sDataSetNotActive\r
+#: Internet/WbmConst.pas:55 \r
+msgid "DataSet: %s is not active"
+msgstr "Dataset: %s no está activo"
+
+#. Programmer's name for it: sMemKB\r
+#: Internet/WebAppDbgAbout.pas:35 \r
+msgid "#,###,###\" KB\""
+msgstr ""
+
+#. Programmer's name for it: sErrorDecodingURLText\r
+#: Internet/WebConst.pas:20 \r
+msgid "Error decoding URL style (%XX) encoded string at position %d"
+msgstr ""
+
+#. Programmer's name for it: sInvalidURLEncodedChar\r
+#: Internet/WebConst.pas:21 \r
+msgid "Invalid URL encoded character (%s) at position %d"
+msgstr ""
+
+#. Programmer's name for it: sDuplicateActionName\r
+#: Internet/WebConst.pas:23 \r
+msgid "Duplicate action name"
+msgstr "Nombre de acción duplicado"
+
+#. Programmer's name for it: sFactoryAlreadyRegistered\r
+#: Internet/WebConst.pas:24 \r
+msgid "Web Module Factory already registered"
+msgstr ""
+
+#. Programmer's name for it: sAppFactoryAlreadyRegistered\r
+#: Internet/WebConst.pas:25 \r
+msgid "Web App Module Factory already registered."
+msgstr ""
+
+#. Programmer's name for it: sOnlyOneDispatcher\r
+#: Internet/WebConst.pas:26 \r
+msgid "Only one WebDispatcher per form/data module"
+msgstr ""
+
+#. Programmer's name for it: sHTTPItemName\r
+#: Internet/WebConst.pas:27 \r
+msgid "Name"
+msgstr ""
+
+#. Programmer's name for it: sHTTPItemURI\r
+#: Internet/WebConst.pas:28 \r
+msgid "PathInfo"
+msgstr ""
+
+#. Programmer's name for it: sHTTPItemEnabled\r
+#: Internet/WebConst.pas:29 \r
+msgid "Enabled"
+msgstr ""
+
+#. Programmer's name for it: sHTTPItemProducer\r
+#: Internet/WebConst.pas:31 \r
+msgid "Producer"
+msgstr ""
+
+#. Programmer's name for it: sTooManyColumns\r
+#: Internet/WebConst.pas:35 \r
+msgid "Too many table columns"
+msgstr "Tabla con demasiadas columnas"
+
+#. Programmer's name for it: sFieldNameColumn\r
+#: Internet/WebConst.pas:36 \r
+msgid "Field Name"
+msgstr ""
+
+#. Programmer's name for it: sFieldTypeColumn\r
+#: Internet/WebConst.pas:37 \r
+msgid "Field Type"
+msgstr ""
+
+#. Programmer's name for it: sInvalidWebComponentsRegistration\r
+#: Internet/WebConst.pas:39 \r
+msgid "Invalid Web component registration"
+msgstr ""
+
+#. Programmer's name for it: sInvalidWebComponentsEnumeration\r
+#: Internet/WebConst.pas:40 \r
+msgid "Invalid Web component enumeration"
+msgstr ""
+
+#. Programmer's name for it: sVariableIsNotAContainer\r
+#: Internet/WebConst.pas:42 \r
+msgid "Variable %s is not a container"
+msgstr ""
+
+#. Programmer's name for it: sInternalApplicationError\r
+#: Internet/WebConst.pas:45 \r
+msgid ""
+"<h1>Internal Application Error</h1>\n"
+"<p>%0:s\n"
+"<p><hr width=\"100%%\"><i>%1:s</i>"
+msgstr ""
+
+#. Programmer's name for it: SWideStringOutOfBounds\r
+#: Internet/WSDLIntf.pas:126 \r
+msgid "WideString Index outof bounds"
+msgstr ""
+
+#. Programmer's name for it: sWebServiceListing\r
+#: Internet/WSDLPub.pas:80 \r
+msgid "WebService Listing"
+msgstr ""
+
+#. Programmer's name for it: sWebServiceListingAdmin\r
+#: Internet/WSDLPub.pas:81 \r
+msgid "WebService Listing Administrator"
+msgstr ""
+
+#. Programmer's name for it: sPortType\r
+#: Internet/WSDLPub.pas:82 \r
+msgid "Port Type"
+msgstr ""
+
+#. Programmer's name for it: sNameSpaceURI\r
+#: Internet/WSDLPub.pas:83 \r
+msgid "Namespace URI"
+msgstr ""
+
+#. Programmer's name for it: sDocumentation\r
+#: Internet/WSDLPub.pas:84 \r
+msgid "Documentation"
+msgstr ""
+
+#. Programmer's name for it: sWSDL\r
+#: Internet/WSDLPub.pas:85 \r
+msgid "WSDL"
+msgstr ""
+
+#. Programmer's name for it: sPortName\r
+#: Internet/WSDLPub.pas:86 \r
+msgid "PortName"
+msgstr ""
+
+#. Programmer's name for it: sAddress\r
+#: Internet/WSDLPub.pas:87 \r
+msgid "Address"
+msgstr "Dirección"
+
+#. Programmer's name for it: sInterfaceNotFound\r
+#: Internet/WSDLPub.pas:88 \r
+msgid "<HTML><P>Interface %s not found</P></HTML>"
+msgstr ""
+
+#. Programmer's name for it: sWSDLPortsforPortType\r
+#: Internet/WSDLPub.pas:89 \r
+msgid "WSDL Ports for PortType"
+msgstr ""
+
+#. Programmer's name for it: sWSDLFor\r
+#: Internet/WSDLPub.pas:90 \r
+msgid "WSDL for "
+msgstr ""
+
+#. Programmer's name for it: SPropertyAccessors\r
+#: Internet/XMLBindGen.pas:67 \r
+msgid " { Property Accessors }"
+msgstr ""
+
+#. Programmer's name for it: SMethodsAndProps\r
+#: Internet/XMLBindGen.pas:68 \r
+msgid " { Methods & Properties }"
+msgstr ""
+
+#. Programmer's name for it: SForwardDecl\r
+#: Internet/XMLBindGen.pas:69 \r
+msgid "Forward Decls"
+msgstr ""
+
+#. Programmer's name for it: SGlobalFunctions\r
+#: Internet/XMLBindGen.pas:70 \r
+msgid "Global Functions"
+msgstr ""
+
+#. Programmer's name for it: SDescription\r
+#: Internet/XMLDataToSchema.pas:46 \r
+msgid "XMLData to XML Schema Translator (.xml -> .xsd)"
+msgstr ""
+
+#. Programmer's name for it: SNotActive\r
+#: Internet/XMLDoc.pas:497 \r
+msgid "No active document"
+msgstr ""
+
+#. Programmer's name for it: SNodeNotFound\r
+#: Internet/XMLDoc.pas:498 \r
+msgid "Node \"%s\" not found"
+msgstr "No se ha encontrado el nodo \"%s\""
+
+#. Programmer's name for it: SMissingNode\r
+#: Internet/XMLDoc.pas:499 \r
+msgid "IDOMNode required"
+msgstr ""
+
+#. Programmer's name for it: SNoAttributes\r
+#: Internet/XMLDoc.pas:500 \r
+msgid "Attributes are not supported on this node type"
+msgstr ""
+
+#. Programmer's name for it: SInvalidNodeType\r
+#: Internet/XMLDoc.pas:501 \r
+msgid "Invalid node type"
+msgstr "Tipo de nodo no válido"
+
+#. Programmer's name for it: SMismatchedRegItems\r
+#: Internet/XMLDoc.pas:502 \r
+msgid "Mismatched paramaters to RegisterChildNodes"
+msgstr ""
+
+#. Programmer's name for it: SNotSingleTextNode\r
+#: Internet/XMLDoc.pas:503 \r
+msgid "Element does not contain a single text node"
+msgstr ""
+
+#. Programmer's name for it: SNoDOMParseOptions\r
+#: Internet/XMLDoc.pas:504 \r
+msgid "DOM Implementation does not support IDOMParseOptions"
+msgstr ""
+
+#. Programmer's name for it: SNotOnHostedNode\r
+#: Internet/XMLDoc.pas:505 \r
+msgid "Invalid operation on a hosted node"
+msgstr ""
+
+#. Programmer's name for it: SMissingItemTag\r
+#: Internet/XMLDoc.pas:506 \r
+msgid "ItemTag property is not initialized"
+msgstr "La propiedad ItemTag no está inicializada"
+
+#. Programmer's name for it: SNodeReadOnly\r
+#: Internet/XMLDoc.pas:507 \r
+msgid "Node is readonly"
+msgstr ""
+
+#. Programmer's name for it: SUnsupportedEncoding\r
+#: Internet/XMLDoc.pas:508 \r
+msgid "Unsupported character encoding \"%s\", try using LoadFromFile"
+msgstr ""
+
+#. Programmer's name for it: SNoRefresh\r
+#: Internet/XMLDoc.pas:509 \r
+msgid "Refresh is only supported if the FileName or XML properties are set"
+msgstr ""
+
+#. Programmer's name for it: SMissingFileName\r
+#: Internet/XMLDoc.pas:510 \r
+msgid "FileName cannot be blank"
+msgstr ""
+
+#. Programmer's name for it: SLine\r
+#: Internet/XMLDoc.pas:511 \r
+msgid "Line"
+msgstr ""
+
+#. Programmer's name for it: SDuplicateRegistration\r
+#: Internet/xmldom.pas:554 \r
+msgid "\"%s\" DOMImplementation already registered"
+msgstr ""
+
+#. Programmer's name for it: SNoMatchingDOMVendor\r
+#: Internet/xmldom.pas:555 \r
+msgid "No matching DOM Vendor"
+msgstr ""
+
+#. Programmer's name for it: SNoDOMNodeEx\r
+#: Internet/xmldom.pas:556 \r
+msgid "Selected DOM Vendor does not support this property or method"
+msgstr ""
+
+#. Programmer's name for it: SDOMNotSupported\r
+#: Internet/xmldom.pas:557 \r
+msgid "Property or Method \"%s\" is not supported by DOM Vendor \"%s\""
+msgstr ""
+
+#. Programmer's name for it: SDescription\r
+#: Internet/XMLSchema99.pas:70 \r
+msgid "1999 XML Schema Translator (.xsd <-> .xsd)"
+msgstr ""
+
+#. Programmer's name for it: SInvalidSchema\r
+#: Internet/XMLSchemaTags.pas:176 \r
+msgid "Invalid or unsupported XML Schema document"
+msgstr ""
+
+#. Programmer's name for it: SNoLocalTypeName\r
+#: Internet/XMLSchemaTags.pas:177 \r
+msgid "Local type declarations cannot have a name. Element: %s"
+msgstr ""
+
+#. Programmer's name for it: SUnknownDataType\r
+#: Internet/XMLSchemaTags.pas:178 \r
+msgid "Unknown datatype \"%s\""
+msgstr "Tipo de dato desconocido \"%s\""
+
+#. Programmer's name for it: SInvalidValue\r
+#: Internet/XMLSchemaTags.pas:179 \r
+msgid "Invalid %s value: \"%s\""
+msgstr "Valor %s no válido: \"%s\""
+
+#. Programmer's name for it: SInvalidGroupDecl\r
+#: Internet/XMLSchemaTags.pas:180 \r
+msgid "Invalid group declaration in \"%s\""
+msgstr "Declaración de grupo no válido en \"%s\""
+
+#. Programmer's name for it: SMissingName\r
+#: Internet/XMLSchemaTags.pas:181 \r
+msgid "Missing Type name"
+msgstr "Nombre de tipo sin valor"
+
+#. Programmer's name for it: SInvalidDerivation\r
+#: Internet/XMLSchemaTags.pas:182 \r
+msgid "Invalid complex type derivation: %s"
+msgstr ""
+
+#. Programmer's name for it: SNoNameOnRef\r
+#: Internet/XMLSchemaTags.pas:183 \r
+msgid "Name not allowed on a ref item"
+msgstr ""
+
+#. Programmer's name for it: SNoGlobalRef\r
+#: Internet/XMLSchemaTags.pas:184 \r
+msgid "Global scheam items may not contain a ref"
+msgstr ""
+
+#. Programmer's name for it: SNoRefPropSet\r
+#: Internet/XMLSchemaTags.pas:185 \r
+msgid "%s cannot be set on a ref item"
+msgstr ""
+
+#. Programmer's name for it: SSetGroupRefProp\r
+#: Internet/XMLSchemaTags.pas:186 \r
+msgid "Set the GroupRef property for the cmGroupRef content model"
+msgstr ""
+
+#. Programmer's name for it: SNoContentModel\r
+#: Internet/XMLSchemaTags.pas:187 \r
+msgid "ContentModel not set"
+msgstr ""
+
+#. Programmer's name for it: SNoFacetsAllowed\r
+#: Internet/XMLSchemaTags.pas:188 \r
+msgid "Facets and Enumeration not allowed on this kind of datatype \"%s\""
+msgstr ""
+
+#. Programmer's name for it: SNotBuiltInType\r
+#: Internet/XMLSchemaTags.pas:189 \r
+msgid "Invalid built-in type name \"%s\""
+msgstr ""
+
+#. Programmer's name for it: SBuiltInType\r
+#: Internet/XMLSchemaTags.pas:190 \r
+msgid "Built-in Type"
+msgstr ""
+
+#. Programmer's name for it: SMissingSourceFile\r
+#: Internet/xmlutil.pas:47 \r
+msgid "XMLDataFile must be specified"
+msgstr ""
+
+#. Programmer's name for it: SMissingTransform\r
+#: Internet/xmlutil.pas:48 \r
+msgid "TransformationFile must be specified"
+msgstr ""
+
+#. Programmer's name for it: SOldVersion\r
+#: Internet/xmlutil.pas:49 \r
+msgid "Version of Transformation File not supported"
+msgstr ""
+
+#. Programmer's name for it: sFileSaveError\r
+#: Internet/xmlutil.pas:50 \r
+msgid "Error saving file"
+msgstr ""
+
+#. Programmer's name for it: sFileOpenError\r
+#: Internet/xmlutil.pas:51 \r
+msgid "Error opening file"
+msgstr ""
+
+#. Programmer's name for it: sXMLFileOpenError\r
+#: Internet/xmlutil.pas:52 \r
+msgid "Could not open file "
+msgstr "No se puede abrir el fichero"
+
+#. Programmer's name for it: sXMLLoadError\r
+#: Internet/xmlutil.pas:53 \r
+msgid "Error Loading XML"
+msgstr ""
+
+#. Programmer's name for it: sLinePosError\r
+#: Internet/xmlutil.pas:54 \r
+msgid "Error on line %d, position %d"
+msgstr ""
+
+#. Programmer's name for it: sReason\r
+#: Internet/xmlutil.pas:55 \r
+msgid "Reason: %s\n"
+msgstr "Motivo: %s\n"
+
+#. Programmer's name for it: sParseError\r
+#: Internet/xmlutil.pas:56 \r
+msgid "XML Parse Error:\n"
+msgstr ""
+
+#. Programmer's name for it: SIconViewEditor\r
+#: Property\r Editors/ClxIconEdit.pas:321 \r
+msgid "Items Editor..."
+msgstr "Editor de elementos..."
+
+#. Programmer's name for it: srSamples\r
+#: Samples/IBConst.pas:6 \r
+msgid "Samples"
+msgstr "Ejemplos"
+
+#. Programmer's name for it: SNoEventsRegistered\r
+#: Samples/IBConst.pas:7 \r
+msgid "You must register events before queueing them"
+msgstr ""
+
+#. Programmer's name for it: SInvalidDBConnection\r
+#: Samples/IBConst.pas:8 \r
+msgid "Component is not connected to an open Database"
+msgstr "El componente no está conectado a una base de datos abierta"
+
+#. Programmer's name for it: SInvalidDatabase\r
+#: Samples/IBConst.pas:9 \r
+msgid "''%s'' is not connected to an InterBase database"
+msgstr ""
+
+#. Programmer's name for it: SInvalidCancellation\r
+#: Samples/IBConst.pas:10 \r
+msgid "You cannot call CancelEvents from within an OnEventAlert handler"
+msgstr ""
+
+#. Programmer's name for it: SInvalidEvent\r
+#: Samples/IBConst.pas:11 \r
+msgid "Invalid blank event added to EventAlerter events list"
+msgstr ""
+
+#. Programmer's name for it: SInvalidQueueing\r
+#: Samples/IBConst.pas:12 \r
+msgid "You cannot call QueueEvents from within an OnEventAlert handler"
+msgstr ""
+
+#. Programmer's name for it: SInvalidRegistration\r
+#: Samples/IBConst.pas:13 \r
+msgid ""
+"You cannot Register or Unregister events from within an OnEventAlert handler"
+msgstr ""
+
+#. Programmer's name for it: SMaximumEvents\r
+#: Samples/IBConst.pas:13 \r
+msgid "You can only register 15 events per EventAlerter"
+msgstr ""
+
+#. Programmer's name for it: SInterbaseNotInstalled\r
+#: Samples/IBCtrls.pas:103 \r
+msgid "You must have Interbase installed to use this component"
+msgstr ""
+
+#. Programmer's name for it: SFailedQueEvents\r
+#: Samples/IBCtrls.pas:104 \r
+msgid "Failed to lookup isc_que_events"
+msgstr ""
+
+#. Programmer's name for it: SFailedInterprete\r
+#: Samples/IBCtrls.pas:105 \r
+msgid "Failed to lookup isc_interprete"
+msgstr ""
+
+#. Programmer's name for it: SFailedFree\r
+#: Samples/IBCtrls.pas:106 \r
+msgid "Failed to lookup isc_free"
+msgstr ""
+
+#. Programmer's name for it: SFailedEventBlock\r
+#: Samples/IBCtrls.pas:107 \r
+msgid "Failed to lookup isc_event_block"
+msgstr ""
+
+#. Programmer's name for it: SFailedEventCounts\r
+#: Samples/IBCtrls.pas:108 \r
+msgid "Failed to lookup isc_event_counts"
+msgstr ""
+
+#. Programmer's name for it: SFailedCancelEvents\r
+#: Samples/IBCtrls.pas:109 \r
+msgid "Failed to lookup isc_cancel_events"
+msgstr ""
+
+#. Programmer's name for it: SNoRTTI\r
+#: Soap/IntfInfo.pas:69 \r
+msgid "Interface %s has no RTTI"
+msgstr ""
+
+#. Programmer's name for it: SNoRTTIParam\r
+#: Soap/IntfInfo.pas:70 \r
+msgid "Parameter %s on Method %s of Interface %s has no RTTI"
+msgstr ""
+
+#. Programmer's name for it: SClassNotRegistered\r
+#: Soap/InvConst.pas:15 \r
+msgid "Class not registered"
+msgstr ""
+
+#. Programmer's name for it: SIntfNotRegistered\r
+#: Soap/InvConst.pas:16 \r
+msgid "Interface %s not registered"
+msgstr ""
+
+#. Programmer's name for it: SUnsupportedEncodingSyle\r
+#: Soap/SoapConst.pas:81 \r
+msgid "Unsupported SOAP encodingStyle %s"
+msgstr ""
+
+#. Programmer's name for it: SInvalidSoapRequest\r
+#: Soap/SoapConst.pas:82 \r
+msgid "Invalid SOAP request"
+msgstr ""
+
+#. Programmer's name for it: SMultiBodyNotSupported\r
+#: Soap/SoapConst.pas:83 \r
+msgid "Multiple body elements not supported"
+msgstr ""
+
+#. Programmer's name for it: SUnsupportedCC\r
+#: Soap/SoapConst.pas:84 \r
+msgid "Unsupported calling convention: %s"
+msgstr "Convención de llamada no soportado: %s"
+
+#. Programmer's name for it: SUnsupportedCCIntfMeth\r
+#: Soap/SoapConst.pas:85 \r
+msgid ""
+"Remote Method Call: unsupported calling convention %s for method %s on "
+"interface %s"
+msgstr ""
+
+#. Programmer's name for it: SInvClassNotRegistered\r
+#: Soap/SoapConst.pas:86 \r
+msgid "No class registered to implement interface %s for soap action %s"
+msgstr ""
+
+#. Programmer's name for it: SInvInterfaceNotReg\r
+#: Soap/SoapConst.pas:87 \r
+msgid "No interface registered for soap action %s"
+msgstr ""
+
+#. Programmer's name for it: SInvInterfaceNotRegURL\r
+#: Soap/SoapConst.pas:88 \r
+msgid "No interface registered for URL %s"
+msgstr ""
+
+#. Programmer's name for it: SRemTypeNotRegistered\r
+#: Soap/SoapConst.pas:89 \r
+msgid "Remotable Type %s not registered"
+msgstr ""
+
+#. Programmer's name for it: STypeMismatchInParam\r
+#: Soap/SoapConst.pas:90 \r
+msgid "Type mismatch in parameter %s"
+msgstr ""
+
+#. Programmer's name for it: SNoSuchMethod\r
+#: Soap/SoapConst.pas:91 \r
+msgid "No such method %s"
+msgstr ""
+
+#. Programmer's name for it: SInterfaceNotReg\r
+#: Soap/SoapConst.pas:92 \r
+msgid "Interface not registered, UUID = %s"
+msgstr ""
+
+#. Programmer's name for it: SInterfaceNoRTTI\r
+#: Soap/SoapConst.pas:93 \r
+msgid "Interface has no RTTI, UUID = %s"
+msgstr ""
+
+#. Programmer's name for it: SNoWSDL\r
+#: Soap/SoapConst.pas:94 \r
+msgid "No WSDL document associated with WSDLView"
+msgstr ""
+
+#. Programmer's name for it: SDataTypeNotSupported\r
+#: Soap/SoapConst.pas:95 \r
+msgid ""
+"Datatype of TypeKind: %s not supported as argument for remote invocation"
+msgstr ""
+
+#. Programmer's name for it: SNoMatchingDelphiType\r
+#: Soap/SoapConst.pas:96 \r
+msgid ""
+"No matching Delphi type was found for type: URI = %s, Name = %s on Node %s"
+msgstr ""
+
+#. Programmer's name for it: SUnknownSOAPAction\r
+#: Soap/SoapConst.pas:97 \r
+msgid "Unknown SOAPAction %s"
+msgstr ""
+
+#. Programmer's name for it: SScalarFromTRemotableS\r
+#: Soap/SoapConst.pas:98 \r
+msgid ""
+"Classes that represent scalar types must decsend from TRemotable, %s does not"
+msgstr ""
+
+#. Programmer's name for it: SNoSerializeGraphs\r
+#: Soap/SoapConst.pas:99 \r
+msgid ""
+"Must allow multiref output for objects when serializing a graph of objects"
+msgstr ""
+
+#. Programmer's name for it: SUnsuportedClassType\r
+#: Soap/SoapConst.pas:100 \r
+msgid "Conversion from Class %s to SOAP is not supported"
+msgstr ""
+
+#. Programmer's name for it: SUnexpectedDataType\r
+#: Soap/SoapConst.pas:101 \r
+msgid "Internal error: data type kind %s not expected in this context"
+msgstr ""
+
+#. Programmer's name for it: SArrayTooManyElem\r
+#: Soap/SoapConst.pas:104 \r
+msgid "Array Node: %s has too many elements"
+msgstr ""
+
+#. Programmer's name for it: SWrongDocElem\r
+#: Soap/SoapConst.pas:105 \r
+msgid "DocumentElement %s:%s expected, %s:%s found"
+msgstr ""
+
+#. Programmer's name for it: STooManyParameters\r
+#: Soap/SoapConst.pas:106 \r
+msgid "Too many parameters in method %s"
+msgstr ""
+
+#. Programmer's name for it: SArrayExpected\r
+#: Soap/SoapConst.pas:107 \r
+msgid "Array type expected. Node %s"
+msgstr ""
+
+#. Programmer's name for it: SNoMultiDimVar\r
+#: Soap/SoapConst.pas:108 \r
+msgid "Multidimensional variant arrays not supported in this release"
+msgstr ""
+
+#. Programmer's name for it: SNoURL\r
+#: Soap/SoapConst.pas:109 \r
+msgid "No URL set"
+msgstr ""
+
+#. Programmer's name for it: SNoInterfaceGUID\r
+#: Soap/SoapConst.pas:111 \r
+msgid "Class %s does not implement interface GUID %s"
+msgstr ""
+
+#. Programmer's name for it: SNoArrayElemRTTI\r
+#: Soap/SoapConst.pas:112 \r
+msgid "Element of Array type %s has no RTTI"
+msgstr ""
+
+#. Programmer's name for it: SInvalidResponse\r
+#: Soap/SoapConst.pas:113 \r
+msgid "Invalid SOAP Response"
+msgstr ""
+
+#. Programmer's name for it: SInvalidArraySpec\r
+#: Soap/SoapConst.pas:114 \r
+msgid "Invalid SOAP array specification"
+msgstr ""
+
+#. Programmer's name for it: SCannotFindNodeID\r
+#: Soap/SoapConst.pas:115 \r
+msgid "Cannot find node referenced by ID %s"
+msgstr ""
+
+#. Programmer's name for it: SNoNativeNULL\r
+#: Soap/SoapConst.pas:116 \r
+msgid "Option not set to allow Native type to be set to NULL"
+msgstr ""
+
+#. Programmer's name for it: SFaultCodeOnlyAllowed\r
+#: Soap/SoapConst.pas:117 \r
+msgid "Only one FaultCode element allowed"
+msgstr ""
+
+#. Programmer's name for it: SFaultStringOnlyAllowed\r
+#: Soap/SoapConst.pas:118 \r
+msgid "Only one FaultString element allowed"
+msgstr ""
+
+#. Programmer's name for it: SMissingFaultValue\r
+#: Soap/SoapConst.pas:119 \r
+msgid "Missing FaultString or FaultCode element"
+msgstr ""
+
+#. Programmer's name for it: SNoInterfacesInClass\r
+#: Soap/SoapConst.pas:120 \r
+msgid "Invokable Class %s implements no interfaces"
+msgstr ""
+
+#. Programmer's name for it: SVariantCastNotSupported\r
+#: Soap/SoapConst.pas:122 \r
+msgid "Type cannot be cast as Variant"
+msgstr ""
+
+#. Programmer's name for it: SVarDateNotSupported\r
+#: Soap/SoapConst.pas:123 \r
+msgid "varDate type not supported"
+msgstr "Tipo varDate no soportado"
+
+#. Programmer's name for it: SVarDispatchNotSupported\r
+#. Programmer's name for it: SNoVarDispatch\r
+#: Soap/SoapConst.pas:124 \r Soap/SoapConst.pas:142
+msgid "varDispatch type not supported"
+msgstr "Tipo varDispatch no soportado"
+
+#. Programmer's name for it: SVarErrorNotSupported\r
+#. Programmer's name for it: SNoErrorDispatch\r
+#: Soap/SoapConst.pas:125 \r Soap/SoapConst.pas:143
+msgid "varError type not supported"
+msgstr "Tipo varError no soportado"
+
+#. Programmer's name for it: SVarVariantNotSupported\r
+#: Soap/SoapConst.pas:126 \r
+msgid "varVariant type not supported"
+msgstr "Tipo varVariant no soportado"
+
+#. Programmer's name for it: SHeaderError\r
+#: Soap/SoapConst.pas:127 \r
+msgid "Error Processing Header %s"
+msgstr ""
+
+#. Programmer's name for it: SMissingSoapReturn\r
+#: Soap/SoapConst.pas:128 \r
+msgid "SOAP Response Packet: result element expected, %s found"
+msgstr ""
+
+#. Programmer's name for it: SInvalidPointer\r
+#: Soap/SoapConst.pas:129 \r
+msgid "Invalid Pointer"
+msgstr "Puntero no válido"
+
+#. Programmer's name for it: SNoMessageConverter\r
+#: Soap/SoapConst.pas:130 \r
+msgid "No Pascal to Message converter set"
+msgstr ""
+
+#. Programmer's name for it: SNoMsgProcessingNode\r
+#: Soap/SoapConst.pas:131 \r
+msgid "No Message processing node set"
+msgstr ""
+
+#. Programmer's name for it: SHeaderAttributeError\r
+#: Soap/SoapConst.pas:132 \r
+msgid "Soap header attribute %s with must understand true not understand"
+msgstr ""
+
+#. Programmer's name for it: SNoServiceForURL\r
+#: Soap/SoapConst.pas:134 \r
+msgid "No service available for URL %s"
+msgstr "Servicio no disponible para la URL %s"
+
+#. Programmer's name for it: SNoInterfaceForURL\r
+#: Soap/SoapConst.pas:135 \r
+msgid "No interface is registered to handle URL %s"
+msgstr ""
+
+#. Programmer's name for it: SNoClassRegisteredForURL\r
+#: Soap/SoapConst.pas:136 \r
+msgid "No Class is regisgtered to implement interface %s"
+msgstr ""
+
+#. Programmer's name for it: SInvalidURL\r
+#: Soap/SoapConst.pas:137 \r
+msgid "Invalid url"
+msgstr "URL no válida"
+
+#. Programmer's name for it: SNoClassRegistered\r
+#: Soap/SoapConst.pas:138 \r
+msgid "No class registered for invokable interface %s"
+msgstr ""
+
+#. Programmer's name for it: SNoDispatcher\r
+#: Soap/SoapConst.pas:139 \r
+msgid "No Dispatcher set"
+msgstr ""
+
+#. Programmer's name for it: SMethNoRTTI\r
+#: Soap/SoapConst.pas:140 \r
+msgid "Method has no RTTI"
+msgstr ""
+
+#. Programmer's name for it: SUnsupportedVariant\r
+#: Soap/SoapConst.pas:141 \r
+msgid "Unsuppported variant type"
+msgstr "Tipo de variant no soportada"
+
+#. Programmer's name for it: SInvalidTimeZone\r
+#: Soap/SoapConst.pas:145 \r
+msgid "Invalid or Unknown Time Zone"
+msgstr ""
+
+#. Programmer's name for it: SLocationFilter\r
+#: Soap/SoapConst.pas:146 \r
+msgid "WSDL files (*.wsdl)|*.wsdl|XML files (*.xml)|*.xml"
+msgstr ""
+
+#. Programmer's name for it: SInvalidHour\r
+#: Soap/XSBuiltIns.pas:35 \r
+msgid "Invalid hour: %d"
+msgstr "Hora no válida: %d"
+
+#. Programmer's name for it: SInvalidMinute\r
+#: Soap/XSBuiltIns.pas:36 \r
+msgid "Invalid minute: %d"
+msgstr "Minutos no válidos: %d"
+
+#. Programmer's name for it: SInvalidSecond\r
+#: Soap/XSBuiltIns.pas:37 \r
+msgid "Invalid second: %d"
+msgstr "Segundos no válidos: %d"
+
+#. Programmer's name for it: SInvalidFractionSecond\r
+#: Soap/XSBuiltIns.pas:38 \r
+msgid "Invalid second: %f"
+msgstr "Segundos no válidos: %f"
+
+#. Programmer's name for it: SInvalidMillisecond\r
+#: Soap/XSBuiltIns.pas:39 \r
+msgid "Invalid millisecond: %d"
+msgstr "Milisegundos no válidos: %d"
+
+#. Programmer's name for it: SInvalidHourOffset\r
+#: Soap/XSBuiltIns.pas:40 \r
+msgid "Invalid hour offset: %d"
+msgstr "Offset de la hora no válido: %d"
+
+#. Programmer's name for it: SInvalidDay\r
+#: Soap/XSBuiltIns.pas:41 \r
+msgid "Invalid day: %d"
+msgstr "Día no válido: %d"
+
+#. Programmer's name for it: SInvalidMonth\r
+#: Soap/XSBuiltIns.pas:42 \r
+msgid "Invalid month: %d"
+msgstr "Mes no válido: %d"
+
+#. Programmer's name for it: SInvalidDuration\r
+#: Soap/XSBuiltIns.pas:43 \r
+msgid "Invalid Duration String: %s"
+msgstr "Cadena de duración no válido: %s"
+
+#. Programmer's name for it: sHTMLFilter\r
+#: ToolsAPI/ClxEditors.pas:629 \r
+msgid "html files (*.htm *.html)"
+msgstr ""
+
+#. Programmer's name for it: srLine\r
+#: ToolsAPI/DesignConst.pas:14 \r
+msgid "line"
+msgstr ""
+
+#. Programmer's name for it: srLines\r
+#: ToolsAPI/DesignConst.pas:15 \r
+msgid "lines"
+msgstr ""
+
+#. Programmer's name for it: SInvalidFormat\r
+#: ToolsAPI/DesignConst.pas:17 \r
+msgid "Invalid graphic format"
+msgstr "Formato gráfico no válido"
+
+#. Programmer's name for it: SUnableToFindComponent\r
+#: ToolsAPI/DesignConst.pas:19 \r
+msgid "Unable to locate form/component, '%s'"
+msgstr "No se puede localizar el form/componente, '%s'"
+
+#. Programmer's name for it: SCantFindProperty\r
+#: ToolsAPI/DesignConst.pas:20 \r
+msgid "Unable to locate property '%s' on component '%s'"
+msgstr ""
+
+#. Programmer's name for it: SStringsPropertyInvalid\r
+#: ToolsAPI/DesignConst.pas:21 \r
+msgid "Property '%s' has not been initialized on component '%s'"
+msgstr ""
+
+#. Programmer's name for it: SLoadPictureTitle\r
+#: ToolsAPI/DesignConst.pas:23 \r
+msgid "Load Picture"
+msgstr "Cargar Imagen"
+
+#. Programmer's name for it: SSavePictureTitle\r
+#: ToolsAPI/DesignConst.pas:24 \r
+msgid "Save Picture As"
+msgstr "Grabar Imagen Como"
+
+#. Programmer's name for it: SAboutVerb\r
+#: ToolsAPI/DesignConst.pas:26 \r
+msgid "About..."
+msgstr "Acerca de..."
+
+#. Programmer's name for it: SNoPropertyPageAvailable\r
+#: ToolsAPI/DesignConst.pas:27 \r
+msgid "No property pages are available for this control"
+msgstr ""
+
+#. Programmer's name for it: SNoAboutBoxAvailable\r
+#: ToolsAPI/DesignConst.pas:28 \r
+msgid "An About Box is not available for this control"
+msgstr ""
+
+#. Programmer's name for it: SNull\r
+#: ToolsAPI/DesignConst.pas:29 \r
+msgid "(Null)"
+msgstr "(Null)"
+
+#. Programmer's name for it: SUnassigned\r
+#: ToolsAPI/DesignConst.pas:30 \r
+msgid "(Unassigned)"
+msgstr "(Sin asignación)"
+
+#. Programmer's name for it: SString\r
+#: ToolsAPI/DesignConst.pas:32 \r
+msgid "String"
+msgstr "String"
+
+#. Programmer's name for it: SUnknownType\r
+#: ToolsAPI/DesignConst.pas:34 \r
+msgid "Unknown Type"
+msgstr "Tipo desconocido"
+
+#. Programmer's name for it: SCannotCreateName\r
+#: ToolsAPI/DesignConst.pas:36 \r
+msgid "Cannot create a method for an unnamed component"
+msgstr ""
+
+#. Programmer's name for it: SColEditCaption\r
+#: ToolsAPI/DesignConst.pas:38 \r
+msgid "Editing %s%s%s"
+msgstr ""
+
+#. Programmer's name for it: SCantDeleteAncestor\r
+#: ToolsAPI/DesignConst.pas:40 \r
+msgid ""
+"Selection contains a component introduced in an ancestor form which cannot "
+"be deleted"
+msgstr ""
+
+#. Programmer's name for it: SCantAddToFrame\r
+#: ToolsAPI/DesignConst.pas:41 \r
+msgid "New components cannot be added to frame instances."
+msgstr ""
+
+#. Programmer's name for it: SAllFiles\r
+#: ToolsAPI/DesignConst.pas:44 \r
+msgid "all files (*)"
+msgstr ""
+
+#. Programmer's name for it: SAllFiles\r
+#: ToolsAPI/DesignConst.pas:47 \r
+msgid "all files (*.*)"
+msgstr ""
+
+#. Programmer's name for it: sClassNotApplicable\r
+#: ToolsAPI/DesignEditors.pas:491 \r
+msgid "Class %s is not applicable to this module"
+msgstr ""
+
+#. Programmer's name for it: sNotAvailable\r
+#: ToolsAPI/DesignEditors.pas:492 \r
+msgid "(Not available)"
+msgstr "(No disponible)"
+
+#. Programmer's name for it: sEditSubmenu\r
+#. LogDetailFrame..ActionList1..EditCut1..Category\r
+#. LogDetailFrame..ActionList1..EditCopy1..Category\r
+#. LogDetailFrame..ActionList1..EditPaste1..Category\r
+#. LogDetailFrame..ActionList1..EditSelectAll1..Category\r
+#. LogDetailFrame..ActionList1..EditUndo1..Category\r
+#. StandardActions..ActionList1..EditCut1..Category\r
+#. StandardActions..ActionList1..EditCopy1..Category\r
+#. StandardActions..ActionList1..EditPaste1..Category\r
+#. StandardActions..ActionList1..EditDelete1..Category\r
+#. StandardActions..ActionList1..EditSelectAll1..Category\r
+#. StandardActions..ActionList1..EditUndo1..Category\r
+#: ToolsAPI/DesignEditors.pas:2766 \r Internet/SvrLogDetailFrame.dfm:62
+#: Internet/SvrLogDetailFrame.dfm:69 Internet/SvrLogDetailFrame.dfm:76
+#: Internet/SvrLogDetailFrame.dfm:83 Internet/SvrLogDetailFrame.dfm:89
+#: Vcl/ActnRes.dfm:12 Vcl/ActnRes.dfm:19 Vcl/ActnRes.dfm:26 Vcl/ActnRes.dfm:65
+#: Vcl/ActnRes.dfm:72 Vcl/ActnRes.dfm:78
+msgid "Edit"
+msgstr ""
+
+#. Programmer's name for it: sCutComponent\r
+#: ToolsAPI/DesignEditors.pas:2768 \r
+msgid "Cut"
+msgstr ""
+
+#. Programmer's name for it: sCopyComponent\r
+#: ToolsAPI/DesignEditors.pas:2769 \r
+msgid "Copy"
+msgstr ""
+
+#. Programmer's name for it: sPasteComponent\r
+#: ToolsAPI/DesignEditors.pas:2770 \r
+msgid "Paste"
+msgstr ""
+
+#. Programmer's name for it: sDeleteComponent\r
+#. ClxTreeViewItems..gbSubItems..btnDelSub..Caption\r
+#: ToolsAPI/DesignEditors.pas:2771 \r Property\r Editors/ClxNodeEdit.xfm:226
+msgid "Delete"
+msgstr ""
+
+#. Programmer's name for it: sSelectAllComponent\r
+#. StandardActions..ActionList1..ListControlSelectAll1..Hint\r
+#: ToolsAPI/DesignEditors.pas:2772 \r Vcl/ActnRes.dfm:277
+msgid "Select All"
+msgstr ""
+
+#. Programmer's name for it: sControlSubmenu\r
+#: ToolsAPI/DesignEditors.pas:2773 \r
+msgid "Control"
+msgstr "Control"
+
+#. Programmer's name for it: sToFrontControl\r
+#: ToolsAPI/DesignEditors.pas:2774 \r
+msgid "Bring to Front"
+msgstr ""
+
+#. Programmer's name for it: sToBackControl\r
+#: ToolsAPI/DesignEditors.pas:2775 \r
+msgid "Send to Back"
+msgstr ""
+
+#. Programmer's name for it: sDataCategoryName\r
+#: ToolsAPI/DesignIntf.pas:429 \r
+msgid "Data"
+msgstr ""
+
+#. Programmer's name for it: sDatabaseCategoryName\r
+#: ToolsAPI/DesignIntf.pas:430 \r
+msgid "Database"
+msgstr "Base de datos"
+
+#. Programmer's name for it: sDragNDropCategoryName\r
+#: ToolsAPI/DesignIntf.pas:432 \r
+msgid "Drag, Drop and Docking"
+msgstr ""
+
+#. Programmer's name for it: sDragNDropCategoryName\r
+#: ToolsAPI/DesignIntf.pas:435 \r
+msgid "Drag and Drop"
+msgstr ""
+
+#. Programmer's name for it: sHelpCategoryName\r
+#: ToolsAPI/DesignIntf.pas:437 \r
+msgid "Help and Hints"
+msgstr ""
+
+#. Programmer's name for it: sLayoutCategoryName\r
+#: ToolsAPI/DesignIntf.pas:438 \r
+msgid "Layout"
+msgstr ""
+
+#. Programmer's name for it: sLegacyCategoryName\r
+#: ToolsAPI/DesignIntf.pas:439 \r
+msgid "Legacy"
+msgstr ""
+
+#. Programmer's name for it: sLinkageCategoryName\r
+#: ToolsAPI/DesignIntf.pas:440 \r
+msgid "Linkage"
+msgstr ""
+
+#. Programmer's name for it: sLocaleCategoryName\r
+#: ToolsAPI/DesignIntf.pas:441 \r
+msgid "Locale"
+msgstr ""
+
+#. Programmer's name for it: sLocalizableCategoryName\r
+#: ToolsAPI/DesignIntf.pas:442 \r
+msgid "Localizable"
+msgstr ""
+
+#. Programmer's name for it: sMiscellaneousCategoryName\r
+#: ToolsAPI/DesignIntf.pas:443 \r
+msgid "Miscellaneous"
+msgstr ""
+
+#. Programmer's name for it: sVisualCategoryName\r
+#: ToolsAPI/DesignIntf.pas:444 \r
+msgid "Visual"
+msgstr "Visual"
+
+#. Programmer's name for it: sInputCategoryName\r
+#: ToolsAPI/DesignIntf.pas:445 \r
+msgid "Input"
+msgstr ""
+
+#. Programmer's name for it: sAddCaption\r
+#: ToolsAPI/TreeIntf.pas:2456 \r
+msgid "Add item"
+msgstr ""
+
+#. Programmer's name for it: SUnnamedItemCaption\r
+#: ToolsAPI/TreeIntf.pas:2651 \r
+msgid "<Components[%d]>"
+msgstr ""
+
+#. Programmer's name for it: SInvalidEnumValue\r
+#: Vcl/ADOConst.pas:15 \r Vcl/Consts.pas:104
+msgid "Invalid Enum Value"
+msgstr "Valor de Enum no válido"
+
+#. Programmer's name for it: SMissingConnection\r
+#: Vcl/ADOConst.pas:16 \r
+msgid "Missing Connection or ConnectionString"
+msgstr "Falta Connection o ConnectionString"
+
+#. Programmer's name for it: SNoDetailFilter\r
+#: Vcl/ADOConst.pas:17 \r
+msgid "Filter property cannot be used for detail tables"
+msgstr "La propiedad Filter no puede ser utilizada para tablas de detalle"
+
+#. Programmer's name for it: SBookmarksRequired\r
+#: Vcl/ADOConst.pas:18 \r
+msgid ""
+"Dataset does not support bookmarks, which are required for multi-record data "
+"controls"
+msgstr ""
+"El Dataset no soporta separadores, los cuales son requeridos para controles "
+"de datos multiregistros"
+
+#. Programmer's name for it: SMissingCommandText\r
+#: Vcl/ADOConst.pas:19 \r
+msgid "Missing %s property"
+msgstr "No se encuentra la propiedad %s"
+
+#. Programmer's name for it: SNoResultSet\r
+#: Vcl/ADOConst.pas:20 \r
+msgid "CommandText does not return a result set"
+msgstr "CommandText no devuelve un conjunto de resultados"
+
+#. Programmer's name for it: SADOCreateError\r
+#: Vcl/ADOConst.pas:21 \r
+msgid ""
+"Error creating object. Please verify that the Microsoft Data Access "
+"Components 2.1 (or later) have been properly installed"
+msgstr ""
+
+#. Programmer's name for it: SEventsNotSupported\r
+#: Vcl/ADOConst.pas:22 \r
+msgid "Events are not supported with server side TableDirect cursors"
+msgstr "Los eventos por parte del servidor no soportan cursores TableDirect"
+
+#. Programmer's name for it: SUsupportedFieldType\r
+#: Vcl/ADOConst.pas:23 \r
+msgid "Unsupported field type (%s) in field %s"
+msgstr "Tipo de campo no soportado (%s) en el campo %s"
+
+#. Programmer's name for it: SNoMatchingADOType\r
+#: Vcl/ADOConst.pas:24 \r
+msgid "No matching ADO data type for %s"
+msgstr "Tipo ADO no coincidente para %s"
+
+#. Programmer's name for it: SConnectionRequired\r
+#: Vcl/ADOConst.pas:25 \r
+msgid "A connection component is required for async ExecuteOptions"
+msgstr "Se requiere un componente de conexión para async ExecuteOptions"
+
+#. Programmer's name for it: SCantRequery\r
+#: Vcl/ADOConst.pas:26 \r
+msgid "Cannot perform a requery after connection has changed"
+msgstr ""
+"No se puede realizar una repetición de búsqueda una vez que la conexión ha "
+"cambiado"
+
+#. Programmer's name for it: SNoFilterOptions\r
+#: Vcl/ADOConst.pas:27 \r
+msgid "FilterOptions are not supported"
+msgstr "FilterOptions no estan soportadas"
+
+#. Programmer's name for it: SRecordsetNotOpen\r
+#: Vcl/ADOConst.pas:28 \r
+msgid "Recordset is not open"
+msgstr "Recordset no está abierto"
+
+#. Programmer's name for it: SAutoSessionExclusive\r
+#: Vcl/bdeconst.pas:15 \r
+msgid ""
+"Cannot enable AutoSessionName property with more than one session on a form "
+"or data-module"
+msgstr ""
+"No se puede activar la propiedad AutoSessionName con más de una sesión en un "
+"formulario o módulo de datos"
+
+#. Programmer's name for it: SAutoSessionExists\r
+#: Vcl/bdeconst.pas:16 \r
+msgid ""
+"Cannot add a session to the form or data-module while session '%s' has "
+"AutoSessionName enabled"
+msgstr ""
+"No se puede añadir una sesión al formulario o módulo de datos mientras la "
+"sesión '%s' tiene la propiedad AutoSessionName activada"
+
+#. Programmer's name for it: SAutoSessionActive\r
+#: Vcl/bdeconst.pas:17 \r
+msgid "Cannot modify SessionName while AutoSessionName is enabled"
+msgstr ""
+"No se puede modificar SessionName mientras la propiedad AutoSessionName está "
+"activada"
+
+#. Programmer's name for it: SDuplicateDatabaseName\r
+#: Vcl/bdeconst.pas:18 \r
+msgid "Duplicate database name '%s'"
+msgstr "Duplicado el nombre de base de datos: '%s'"
+
+#. Programmer's name for it: SDuplicateSessionName\r
+#: Vcl/bdeconst.pas:19 \r
+msgid "Duplicate session name '%s'"
+msgstr "Duplicado el nombre de sesión: '%s'"
+
+#. Programmer's name for it: SInvalidSessionName\r
+#: Vcl/bdeconst.pas:20 \r
+msgid "Invalid session name %s"
+msgstr "Nombre de sesión no válido: %s"
+
+#. Programmer's name for it: SDatabaseNameMissing\r
+#: Vcl/bdeconst.pas:21 \r
+msgid "Database name missing"
+msgstr "Nombre de la base de datos ausente"
+
+#. Programmer's name for it: SSessionNameMissing\r
+#: Vcl/bdeconst.pas:22 \r
+msgid "Session name missing"
+msgstr "Nombre de sesión ausente"
+
+#. Programmer's name for it: SDatabaseOpen\r
+#: Vcl/bdeconst.pas:23 \r
+msgid "Cannot perform this operation on an open database"
+msgstr "No se puede ejecutar esta operación en una base de datos abierta"
+
+#. Programmer's name for it: SDatabaseClosed\r
+#: Vcl/bdeconst.pas:24 \r
+msgid "Cannot perform this operation on a closed database"
+msgstr "No se puede ejecutar esta operación en una base de datos cerrada"
+
+#. Programmer's name for it: SDatabaseHandleSet\r
+#: Vcl/bdeconst.pas:25 \r
+msgid "Database handle owned by a different session"
+msgstr ""
+"El manejador (handle) de la base de datos está siendo utilizado por una "
+"sesión diferente"
+
+#. Programmer's name for it: SSessionActive\r
+#: Vcl/bdeconst.pas:26 \r
+msgid "Cannot perform this operation on an active session"
+msgstr "No se puede ejecutar esta operación sobre una sesión activa"
+
+#. Programmer's name for it: SHandleError\r
+#: Vcl/bdeconst.pas:27 \r
+msgid "Error creating cursor handle"
+msgstr "Se ha producido un error al crear el manejador (handle) del cursor"
+
+#. Programmer's name for it: SInvalidFloatField\r
+#: Vcl/bdeconst.pas:28 \r
+msgid "Cannot convert field '%s' to a floating point value"
+msgstr "No se puede convertir el campo '%s' en un valor de punto flotante"
+
+#. Programmer's name for it: SInvalidIntegerField\r
+#: Vcl/bdeconst.pas:29 \r
+msgid "Cannot convert field '%s' to an integer value"
+msgstr "No se puede convertir el campo '%s' en un valor entero"
+
+#. Programmer's name for it: STableMismatch\r
+#: Vcl/bdeconst.pas:30 \r
+msgid "Source and destination tables are incompatible"
+msgstr "Las tablas fuente y destino son incompatibles"
+
+#. Programmer's name for it: SFieldAssignError\r
+#: Vcl/bdeconst.pas:31 \r
+msgid "Fields '%s' and '%s' are not assignment compatible"
+msgstr "Los campos '%s' y '%s' no son de asignación compatible"
+
+#. Programmer's name for it: SNoReferenceTableName\r
+#: Vcl/bdeconst.pas:32 \r
+msgid "ReferenceTableName not specified for field '%s'"
+msgstr "ReferenceTableName no ha sido especificado para el campo '%s'"
+
+#. Programmer's name for it: SCompositeIndexError\r
+#: Vcl/bdeconst.pas:33 \r
+msgid "Cannot use array of Field values with Expression Indices"
+msgstr "No se puede usar la matriz de valores Campo con Expression Indices"
+
+#. Programmer's name for it: SInvalidBatchMove\r
+#: Vcl/bdeconst.pas:34 \r
+msgid "Invalid batch move parameters"
+msgstr "Parámetros de TBatchMove no válidos"
+
+#. Programmer's name for it: SEmptySQLStatement\r
+#: Vcl/bdeconst.pas:35 \r Vcl/SqlConst.pas:63
+msgid "No SQL statement available"
+msgstr "No hay sentencia SQL disponible"
+
+#. Programmer's name for it: SNoParameterValue\r
+#: Vcl/bdeconst.pas:36 \r Vcl/SqlConst.pas:64
+msgid "No value for parameter '%s'"
+msgstr "No hay valor para el parámetro '%s'"
+
+#. Programmer's name for it: SNoParameterType\r
+#: Vcl/bdeconst.pas:37 \r Vcl/SqlConst.pas:65
+msgid "No parameter type for parameter '%s'"
+msgstr "No hay tipo de parámetro para el parámetro '%s'"
+
+#. Programmer's name for it: SLoginError\r
+#: Vcl/bdeconst.pas:38 \r Vcl/SqlConst.pas:56
+msgid "Cannot connect to database '%s'"
+msgstr "No se puede conectar con la base de datos '%s'"
+
+#. Programmer's name for it: SInitError\r
+#: Vcl/bdeconst.pas:39 \r
+msgid ""
+"An error occurred while attempting to initialize the Borland Database Engine "
+"(error $%.4x)"
+msgstr ""
+"Ha ocurrido un error mientras se intentaba inicializar el Motor de la Base "
+"de Datos (error $%.4x)"
+
+#. Programmer's name for it: SDatabaseEditor\r
+#. Programmer's name for it: SIBDatabaseEditor\r
+#: Vcl/bdeconst.pas:40 \r Vcl/IBXConst.pas:40
+msgid "Da&tabase Editor..."
+msgstr "Editor de Base de Da&tos..."
+
+#. Programmer's name for it: SExplore\r
+#: Vcl/bdeconst.pas:41 \r
+msgid "E&xplore"
+msgstr "E&xplorador"
+
+#. Programmer's name for it: SLinkDetail\r
+#: Vcl/bdeconst.pas:42 \r
+msgid "'%s' cannot be opened"
+msgstr "'%s' no puede ser abierto"
+
+#. Programmer's name for it: SLinkMasterSource\r
+#: Vcl/bdeconst.pas:43 \r
+msgid "The MasterSource property of '%s' must be linked to a DataSource"
+msgstr ""
+"La propiedad MasterSource de '%s' debe estar enlazada con una fuente de "
+"datos DataSource"
+
+#. Programmer's name for it: SLinkMaster\r
+#: Vcl/bdeconst.pas:44 \r
+msgid "Unable to open the MasterSource Table"
+msgstr "Incapaz de abrir la tabla maestra"
+
+#. Programmer's name for it: SGQEVerb\r
+#: Vcl/bdeconst.pas:45 \r
+msgid "S&QL Builder..."
+msgstr "Constructor S&QL..."
+
+#. Programmer's name for it: SBindVerb\r
+#: Vcl/bdeconst.pas:46 \r
+msgid "Define &Parameters..."
+msgstr "Define &Parametros..."
+
+#. Programmer's name for it: SDisconnectDatabase\r
+#: Vcl/bdeconst.pas:48 \r Vcl/IBXConst.pas:43
+msgid "Database is currently connected. Disconnect and continue?"
+msgstr "La base de datos está conectada actualmente. Desconectar y continuar?"
+
+#. Programmer's name for it: SBDEError\r
+#: Vcl/bdeconst.pas:49 \r
+msgid "BDE error $%.4x"
+msgstr "Error BDE $%.4x"
+
+#. Programmer's name for it: SLookupSourceError\r
+#: Vcl/bdeconst.pas:50 \r
+msgid "Unable to use duplicate DataSource and LookupSource"
+msgstr "Incapaz de usar DataSource y LookupSource duplicados"
+
+#. Programmer's name for it: SLookupTableError\r
+#: Vcl/bdeconst.pas:51 \r
+msgid "LookupSource must be connected to TTable component"
+msgstr "LookupSource debe estar conectado a un componente TTable"
+
+#. Programmer's name for it: SLookupIndexError\r
+#: Vcl/bdeconst.pas:52 \r
+msgid "%s must be the lookup table's active index"
+msgstr "%s debe ser el índice activo de la tabla de búsqueda"
+
+#. Programmer's name for it: SParameterTypes\r
+#: Vcl/bdeconst.pas:53 \r Vcl/SqlConst.pas:66
+msgid ";Input;Output;Input/Output;Result"
+msgstr ";Entrada;Salida;Entrada/Salida;Resultado"
+
+#. Programmer's name for it: SInvalidParamFieldType\r
+#: Vcl/bdeconst.pas:54 \r
+msgid "Must have a valid field type selected"
+msgstr "Debe haber un tipo de campo válido seleccionado"
+
+#. Programmer's name for it: STruncationError\r
+#: Vcl/bdeconst.pas:55 \r
+msgid "Parameter '%s' truncated on output"
+msgstr "El parámetro '%s' truncado en salida"
+
+#. Programmer's name for it: SDataTypes\r
+#: Vcl/bdeconst.pas:56 \r Vcl/SqlConst.pas:67
+msgid ""
+";String;SmallInt;Integer;Word;Boolean;Float;Currency;BCD;Date;Time;"
+"DateTime;;;;Blob;Memo;Graphic;;;;;Cursor;"
+msgstr ""
+";String;SmallInt;Integer;Word;Boolean;Float;Currency;BCD;Date;Time;"
+"DateTime;;;;Blob;Memo;Graphic;;;;;Cursor;"
+
+#. Programmer's name for it: SResultName\r
+#: Vcl/bdeconst.pas:57 \r Vcl/SqlConst.pas:68
+msgid "Result"
+msgstr "Resultado"
+
+#. Programmer's name for it: SDBCaption\r
+#: Vcl/bdeconst.pas:58 \r
+msgid "%s%s%s Database"
+msgstr "%s%s%s Base de datos"
+
+#. Programmer's name for it: SParamEditor\r
+#: Vcl/bdeconst.pas:59 \r
+msgid "%s%s%s Parameters"
+msgstr "%s%s%s parámetros"
+
+#. Programmer's name for it: SIndexFilesEditor\r
+#: Vcl/bdeconst.pas:60 \r
+msgid "%s%s%s Index Files"
+msgstr "%s%s%s archivos de índice"
+
+#. Programmer's name for it: SIndexDoesNotExist\r
+#: Vcl/bdeconst.pas:62 \r
+msgid "Index does not exist. Index: %s"
+msgstr "El índice no existe. Indice: %s"
+
+#. Programmer's name for it: SNoTableName\r
+#: Vcl/bdeconst.pas:63 \r Vcl/SqlConst.pas:69
+msgid "Missing TableName property"
+msgstr "Propiedad TableName sin valor"
+
+#. Programmer's name for it: SNoDataSetField\r
+#: Vcl/bdeconst.pas:64 \r Vcl/SqlConst.pas:71
+msgid "Missing DataSetField property"
+msgstr "Propiedad DataSetField sin valor"
+
+#. Programmer's name for it: SBatchExecute\r
+#. Programmer's name for it: SExecute\r
+#: Vcl/bdeconst.pas:65 \r Vcl/IBXConst.pas:45
+msgid "E&xecute"
+msgstr "E&jectuar"
+
+#. Programmer's name for it: SNoCachedUpdates\r
+#: Vcl/bdeconst.pas:66 \r Vcl/SqlConst.pas:72
+msgid "Not in cached update mode"
+msgstr "No se encuentra en modo cached update"
+
+#. Programmer's name for it: SInvalidAliasName\r
+#: Vcl/bdeconst.pas:67 \r
+msgid "Invalid alias name %s"
+msgstr "Nombre de alias no válido: %s"
+
+#. Programmer's name for it: SNoFieldAccess\r
+#: Vcl/bdeconst.pas:68 \r
+msgid "Cannot access field '%s' in a filter"
+msgstr "No se puede acceder al campo '%s' en un filtro"
+
+#. Programmer's name for it: SUpdateSQLEditor\r
+#. Programmer's name for it: SIBUpdateSQLEditor\r
+#: Vcl/bdeconst.pas:69 \r Vcl/IBXConst.pas:49
+msgid "&UpdateSQL Editor..."
+msgstr "Editor &UpdateSQL..."
+
+#. Programmer's name for it: SNoDataSet\r
+#: Vcl/bdeconst.pas:70 \r Vcl/IBXConst.pas:46
+msgid "No dataset association"
+msgstr "No hay asociación con dataset"
+
+#. Programmer's name for it: SUntitled\r
+#: Vcl/bdeconst.pas:71 \r
+msgid "Untitled Application"
+msgstr "Aplicación sín nombre"
+
+#. Programmer's name for it: SUpdateWrongDB\r
+#: Vcl/bdeconst.pas:72 \r
+msgid "Cannot update, %s is not owned by %s"
+msgstr "No se puede actualizar, %s no es propiedad de %s"
+
+#. Programmer's name for it: SUpdateFailed\r
+#: Vcl/bdeconst.pas:73 \r
+msgid "Update failed"
+msgstr "Fallo en la actualización"
+
+#. Programmer's name for it: SSQLGenSelect\r
+#: Vcl/bdeconst.pas:74 \r Vcl/IBXConst.pas:47
+msgid "Must select at least one key field and one update field"
+msgstr "Debe seleccionar, al menos, un campo clave y un campo para actualizar"
+
+#. Programmer's name for it: SSQLNotGenerated\r
+#: Vcl/bdeconst.pas:75 \r Vcl/IBXConst.pas:48
+msgid "Update SQL statements not generated, exit anyway?"
+msgstr "Sentencia SQL no generada, abandonar?"
+
+#. Programmer's name for it: SSQLDataSetOpen\r
+#: Vcl/bdeconst.pas:76 \r Vcl/IBXConst.pas:51 Vcl/SqlConst.pas:78
+msgid "Unable to determine field names for %s"
+msgstr "Incapaz de determinar los nombres de campo para %s"
+
+#. Programmer's name for it: SLocalTransDirty\r
+#: Vcl/bdeconst.pas:77 \r
+msgid "The transaction isolation level must be dirty read for local databases"
+msgstr ""
+"El nivel de transacción debe ser ''dirty read'' para bases de datos locales"
+
+#. Programmer's name for it: SMissingDataSet\r
+#: Vcl/bdeconst.pas:78 \r Vcl/MidConst.pas:67 Vcl/SqlConst.pas:74
+msgid "Missing DataSet property"
+msgstr "Propiedad DataSet sin valor"
+
+#. Programmer's name for it: SNoProvider\r
+#: Vcl/bdeconst.pas:79 \r
+msgid "No provider available"
+msgstr "Proveedor no disponible"
+
+#. Programmer's name for it: SNotAQuery\r
+#: Vcl/bdeconst.pas:80 \r
+msgid "Dataset is not a query"
+msgstr "Fuente de datos no es resultado de una consulta"
+
+#. Programmer's name for it: sTabFailClear\r
+#: Vcl/ComStrs.pas:15 \r
+msgid "Failed to clear tab control"
+msgstr "Se ha producido un error al limpiar el control de página"
+
+#. Programmer's name for it: sTabFailRetrieve\r
+#: Vcl/ComStrs.pas:17 \r
+msgid "Failed to retrieve tab at index %d"
+msgstr "Se ha producido un error al recuperar la página en índice %d"
+
+#. Programmer's name for it: sTabFailGetObject\r
+#: Vcl/ComStrs.pas:18 \r
+msgid "Failed to get object at index %d"
+msgstr "Se ha producido un error al obtener objeto en índice %d"
+
+#. Programmer's name for it: sTabFailSet\r
+#: Vcl/ComStrs.pas:19 \r
+msgid "Failed to set tab \"%s\" at index %d"
+msgstr "Se ha producido un error al establecer página \"%s\" en el índice %d"
+
+#. Programmer's name for it: sTabFailSetObject\r
+#: Vcl/ComStrs.pas:20 \r
+msgid "Failed to set object at index %d"
+msgstr "Se ha producido un error al establecer objetos en el índice %d"
+
+#. Programmer's name for it: sInvalidIndex\r
+#: Vcl/ComStrs.pas:25 \r
+msgid "Invalid index"
+msgstr "Indice no válido"
+
+#. Programmer's name for it: sInsertError\r
+#: Vcl/ComStrs.pas:26 \r
+msgid "Unable to insert an item"
+msgstr "Incapaz de insertar un elemento"
+
+#. Programmer's name for it: sInvalidOwner\r
+#: Vcl/ComStrs.pas:28 \r
+msgid "Invalid owner"
+msgstr "Propietario no válido"
+
+#. Programmer's name for it: sUnableToCreateColumn\r
+#: Vcl/ComStrs.pas:29 \r
+msgid "Unable to create new column"
+msgstr "Incapaz de crear una nueva columna"
+
+#. Programmer's name for it: sUnableToCreateItem\r
+#: Vcl/ComStrs.pas:30 \r
+msgid "Unable to create new item"
+msgstr "Incapaz de crear un nuevo elemento"
+
+#. Programmer's name for it: sRichEditInsertError\r
+#: Vcl/ComStrs.pas:32 \r
+msgid "RichEdit line insertion error"
+msgstr "Se ha producido un error al insertar una linea en RichEdit"
+
+#. Programmer's name for it: sRichEditLoadFail\r
+#: Vcl/ComStrs.pas:33 \r
+msgid "Failed to Load Stream"
+msgstr "Se ha producido un error al cargar un Stream"
+
+#. Programmer's name for it: sRichEditSaveFail\r
+#: Vcl/ComStrs.pas:34 \r
+msgid "Failed to Save Stream"
+msgstr "Se ha producido un error al grabar un Stream"
+
+#. Programmer's name for it: sTooManyPanels\r
+#: Vcl/ComStrs.pas:36 \r
+msgid "StatusBar cannot have more than 64 panels"
+msgstr "El StatusBar no puede tener más de 64 paneles"
+
+#. Programmer's name for it: sHKError\r
+#: Vcl/ComStrs.pas:38 \r
+msgid "Error assigning Hot-Key to %s. %s"
+msgstr "Se ha producido un error al asignar Hot-Key a %s. %s"
+
+#. Programmer's name for it: sHKInvalid\r
+#: Vcl/ComStrs.pas:39 \r
+msgid "Hot-Key is invalid"
+msgstr "Hot-Key no es valido"
+
+#. Programmer's name for it: sHKInvalidWindow\r
+#: Vcl/ComStrs.pas:40 \r
+msgid "Window is invalid or a child window"
+msgstr "La ventana no es válida o es una ventana-hija"
+
+#. Programmer's name for it: sHKAssigned\r
+#: Vcl/ComStrs.pas:41 \r
+msgid "Hot-Key is assigned to another window"
+msgstr "Hot-Key está asignada a otra ventana"
+
+#. Programmer's name for it: sUDAssociated\r
+#: Vcl/ComStrs.pas:43 \r
+msgid "%s is already associated with %s"
+msgstr "%s ya está asociada con %s"
+
+#. Programmer's name for it: sInvalidComCtl32\r
+#: Vcl/ComStrs.pas:48 \r
+msgid "This control requires version 4.70 or greater of COMCTL32.DLL"
+msgstr "Este control requiere versión 4.70 o mayor de COMCTL32.DLL"
+
+#. Programmer's name for it: sDateTimeMax\r
+#: Vcl/ComStrs.pas:50 \r
+msgid "Date exceeds maximum of %s"
+msgstr "La fecha excede el máximo de %s"
+
+#. Programmer's name for it: sDateTimeMin\r
+#: Vcl/ComStrs.pas:51 \r
+msgid "Date is less than minimum of %s"
+msgstr "La fecha es menor que el mínimo de %s"
+
+#. Programmer's name for it: sNeedAllowNone\r
+#: Vcl/ComStrs.pas:52 \r
+msgid "You must be in ShowCheckbox mode to set to this date"
+msgstr "Debe estar en modo ShoyCheckbox para asignar esta fecha"
+
+#. Programmer's name for it: sFailSetCalDateTime\r
+#: Vcl/ComStrs.pas:53 \r
+msgid "Failed to set calendar date or time"
+msgstr ""
+"Se ha producido un error al establecer la fecha o la hora del calendario"
+
+#. Programmer's name for it: sFailSetCalMaxSelRange\r
+#: Vcl/ComStrs.pas:54 \r
+msgid "Failed to set maximum selection range"
+msgstr "Se ha producido un error al establecer el rango máximo de selección"
+
+#. Programmer's name for it: sFailSetCalMinMaxRange\r
+#: Vcl/ComStrs.pas:55 \r
+msgid "Failed to set calendar min/max range"
+msgstr "Se ha producido un error al establecer el rango max/min del calendario"
+
+#. Programmer's name for it: sCalRangeNeedsMultiSelect\r
+#: Vcl/ComStrs.pas:56 \r
+msgid "Date range can only be used in multiselect mode"
+msgstr "El rango de la fecha sólo puede ser usado en el modo multiselección"
+
+#. Programmer's name for it: sFailsetCalSelRange\r
+#: Vcl/ComStrs.pas:57 \r
+msgid "Failed to set calendar selected range"
+msgstr ""
+"Se ha producido un error al establecer el rango seleccionado del calendario"
+
+#. Programmer's name for it: SInvalidMetafile\r
+#: Vcl/Consts.pas:24 \r
+msgid "Metafile is not valid"
+msgstr "Metaarchivo no válido"
+
+#. Programmer's name for it: SInvalidImage\r
+#: Vcl/Consts.pas:26 \r
+msgid "Invalid image"
+msgstr "Imagen no válida"
+
+#. Programmer's name for it: SOleGraphic\r
+#: Vcl/Consts.pas:30 \r
+msgid "Invalid operation on TOleGraphic"
+msgstr "Operación sobre TOleGraphic no válida"
+
+#. Programmer's name for it: SDimsDoNotMatch\r
+#: Vcl/Consts.pas:37 \r
+msgid "Image dimensions do not match image list dimensions"
+msgstr ""
+"El tamaño de la imagen no concuerda con el tamaño de la lista de imágenes"
+
+#. Programmer's name for it: SInvalidImageList\r
+#: Vcl/Consts.pas:38 \r
+msgid "Invalid ImageList"
+msgstr "ImageList no válida"
+
+#. Programmer's name for it: SImageReadFail\r
+#: Vcl/Consts.pas:41 \r
+msgid "Failed to read ImageList data from stream"
+msgstr "Se ha producido un error al leer datos de ImageList desde el flujo"
+
+#. Programmer's name for it: SImageWriteFail\r
+#: Vcl/Consts.pas:42 \r
+msgid "Failed to write ImageList data to stream"
+msgstr ""
+"Se ha producido un error al escribir en el flujo los datos de Imagelist"
+
+#. Programmer's name for it: SWindowDCError\r
+#: Vcl/Consts.pas:43 \r
+msgid "Error creating window device context"
+msgstr ""
+"Se ha producido un error al crear el dispositivo de contexto de la ventana"
+
+#. Programmer's name for it: SClientNotSet\r
+#: Vcl/Consts.pas:44 \r
+msgid "Client of TDrag not initialized"
+msgstr "Cliente de TDrag no inicializado"
+
+#. Programmer's name for it: SWindowClass\r
+#: Vcl/Consts.pas:45 \r
+msgid "Error creating window class"
+msgstr "Se ha producido un error al crear la clase de ventana"
+
+#. Programmer's name for it: SWindowCreate\r
+#: Vcl/Consts.pas:46 \r
+msgid "Error creating window"
+msgstr "Se ha producido un error al crear la ventana"
+
+#. Programmer's name for it: SCannotFocus\r
+#: Vcl/Consts.pas:47 \r
+msgid "Cannot focus a disabled or invisible window"
+msgstr "Una ventana invisible o desactivada no puede recibir el foco"
+
+#. Programmer's name for it: SParentRequired\r
+#: Vcl/Consts.pas:48 \r
+msgid "Control '%s' has no parent window"
+msgstr "El control '%s' no tiene ventana contenedora"
+
+#. Programmer's name for it: STwoMDIForms\r
+#: Vcl/Consts.pas:65 \r
+msgid "Cannot have more than one MDI form per application"
+msgstr "No puede haber más de un formulario MDI por aplicación"
+
+#. Programmer's name for it: SCardDLLNotLoaded\r
+#: Vcl/Consts.pas:82 \r
+msgid "Could not load CARDS.DLL"
+msgstr "No se pudo cargar CARDS.DLL"
+
+#. Programmer's name for it: SDuplicateCardId\r
+#: Vcl/Consts.pas:83 \r
+msgid "Duplicate CardId found"
+msgstr "CardId duplicado encontrado"
+
+#. Programmer's name for it: SDdeErr\r
+#: Vcl/Consts.pas:85 \r
+msgid "An error returned from DDE ($0%x)"
+msgstr "DDE devolvió un error ($0%x)"
+
+#. Programmer's name for it: SDdeConvErr\r
+#: Vcl/Consts.pas:86 \r
+msgid "DDE Error - conversation not established ($0%x)"
+msgstr "Hay un error DDE - conversación no establecida ($0%x)"
+
+#. Programmer's name for it: SDdeMemErr\r
+#: Vcl/Consts.pas:87 \r
+msgid "Error occurred when DDE ran out of memory ($0%x)"
+msgstr "Ocurrió un error cuando DDE se ejecutó fuera de memoria ($0%x)"
+
+#. Programmer's name for it: SDdeNoConnect\r
+#: Vcl/Consts.pas:88 \r
+msgid "Unable to connect DDE conversation"
+msgstr "Incapaz de conectar con conversación DDE"
+
+#. Programmer's name for it: SOldTShape\r
+#: Vcl/Consts.pas:93 \r
+msgid "Cannot load older version of TShape"
+msgstr "No se puede cargar una versión anterior de TShape"
+
+#. Programmer's name for it: SVMetafiles\r
+#: Vcl/Consts.pas:94 \r
+msgid "Metafiles"
+msgstr "Metaarchivos"
+
+#. Programmer's name for it: SVEnhMetafiles\r
+#: Vcl/Consts.pas:95 \r
+msgid "Enhanced Metafiles"
+msgstr "Metaarchivos realzados"
+
+#. Programmer's name for it: SOutlineIndexError\r
+#: Vcl/Consts.pas:106 \r
+msgid "Outline index not found"
+msgstr "Indice de Outline no encontrado"
+
+#. Programmer's name for it: SOutlineExpandError\r
+#: Vcl/Consts.pas:107 \r
+msgid "Parent must be expanded"
+msgstr "El ancestro debe estar expandido"
+
+#. Programmer's name for it: SOutlineError\r
+#: Vcl/Consts.pas:111 \r
+msgid "Invalid outline index"
+msgstr "Indice Outline no válido"
+
+#. Programmer's name for it: SOutlineBadLevel\r
+#: Vcl/Consts.pas:112 \r
+msgid "Incorrect level assignment"
+msgstr "Nivel de asignación incorrecto"
+
+#. Programmer's name for it: SOutlineSelection\r
+#: Vcl/Consts.pas:113 \r
+msgid "Invalid selection"
+msgstr "Selección no válida"
+
+#. Programmer's name for it: SOutlineFileLoad\r
+#: Vcl/Consts.pas:114 \r
+msgid "File load error"
+msgstr "Hay un error en la carga del archivo"
+
+#. Programmer's name for it: SOutlineMaxLevels\r
+#: Vcl/Consts.pas:116 \r
+msgid "Maximum outline depth exceeded"
+msgstr "Profundidad máxima de Outline excedida"
+
+#. Programmer's name for it: SmkcBkSp\r
+#: Vcl/Consts.pas:136 \r
+msgid "BkSp"
+msgstr "Retr"
+
+#. Programmer's name for it: SNoVolumeLabel\r
+#: Vcl/Consts.pas:162 \r
+msgid ": [ - no volume label - ]"
+msgstr ": [ - sin etiqueta - ]"
+
+#. !! obsolete - delete in 5.0\r
+#: Vcl/Consts.pas:173 \r
+msgid "Color"
+msgstr "Color"
+
+#. !! obsolete - delete in 5.0\r
+#: Vcl/Consts.pas:174 \r
+msgid "ABCDEFGHIJKLMNOP"
+msgstr "ABCDEFGHIJKLMNOP"
+
+#. Programmer's name for it: SInvalidRegType\r
+#: Vcl/Consts.pas:193 \r Rtl/Common/RTLConsts.pas:52
+msgid "Invalid data type for '%s'"
+msgstr "Tipo de dato que no es válido para '%s'"
+
+#. Programmer's name for it: SUnknownConversion\r
+#: Vcl/Consts.pas:195 \r
+msgid "Unknown RichEdit conversion file extension (.%s)"
+msgstr "Extensión de archivo (.%s) de texto enriquecido desconocida"
+
+#. Programmer's name for it: SCannotOpenAVI\r
+#: Vcl/Consts.pas:202 \r
+msgid "Cannot open AVI"
+msgstr "No se puede abrir el archivo AVI"
+
+#. Programmer's name for it: SNotOpenErr\r
+#: Vcl/Consts.pas:204 \r
+msgid "No MCI device open"
+msgstr "No hay dispositivos MCI abiertos"
+
+#. Programmer's name for it: SMPOpenFilter\r
+#: Vcl/Consts.pas:205 \r
+msgid ""
+"All files (*.*)|*.*|Wave files (*.wav)|*.wav|Midi files (*.mid)|*.mid|Video "
+"for Windows (*.avi)|*.avi"
+msgstr ""
+"Todos los archivos (*.*)|*.*|Archivos Wave|(*.wav)|*.wav|Archivos Midi (*."
+"mid)|*.mid|Videos para Windows (*.avi)|*.avi"
+
+#. Programmer's name for it: SMCIAVIVideo\r
+#: Vcl/Consts.pas:207 \r
+msgid "AVIVideo"
+msgstr "Video AVI"
+
+#. Programmer's name for it: SMCICDAudio\r
+#: Vcl/Consts.pas:208 \r
+msgid "CDAudio"
+msgstr "CD de Audio"
+
+#. Programmer's name for it: SMCIDAT\r
+#: Vcl/Consts.pas:209 \r
+msgid "DAT"
+msgstr "DAT"
+
+#. Programmer's name for it: SMCIDigitalVideo\r
+#: Vcl/Consts.pas:210 \r
+msgid "DigitalVideo"
+msgstr "Video Digital"
+
+#. Programmer's name for it: SMCIMMMovie\r
+#: Vcl/Consts.pas:211 \r
+msgid "MMMovie"
+msgstr "MMMovie"
+
+#. Programmer's name for it: SMCIOther\r
+#. CustomizeFrm..Tabs..OptionsTab..OtherLbl..Caption\r
+#: Vcl/Consts.pas:212 \r Vcl/CustomizeDlg.dfm:297
+msgid "Other"
+msgstr "Otro"
+
+#. Programmer's name for it: SMCIOverlay\r
+#: Vcl/Consts.pas:213 \r
+msgid "Overlay"
+msgstr "Overlay"
+
+#. Programmer's name for it: SMCIScanner\r
+#: Vcl/Consts.pas:214 \r
+msgid "Scanner"
+msgstr "Escáner"
+
+#. Programmer's name for it: SMCISequencer\r
+#: Vcl/Consts.pas:215 \r
+msgid "Sequencer"
+msgstr "Secuenciador"
+
+#. Programmer's name for it: SMCIVCR\r
+#: Vcl/Consts.pas:216 \r
+msgid "VCR"
+msgstr "VCR"
+
+#. Programmer's name for it: SMCIVideodisc\r
+#: Vcl/Consts.pas:217 \r
+msgid "Videodisc"
+msgstr "Videodisc"
+
+#. Programmer's name for it: SMCIWaveAudio\r
+#: Vcl/Consts.pas:218 \r
+msgid "WaveAudio"
+msgstr "WaveAudio"
+
+#. Programmer's name for it: SMCIUnknownError\r
+#: Vcl/Consts.pas:219 \r
+msgid "Unknown error code"
+msgstr "Código de error desconocido"
+
+#. Programmer's name for it: SServiceFailed\r
+#: Vcl/Consts.pas:228 \r
+msgid "Service failed on %s: %s"
+msgstr "El servicio falló en %s: %s"
+
+#. Programmer's name for it: SExecute\r
+#: Vcl/Consts.pas:229 \r
+msgid "execute"
+msgstr "ejecuta"
+
+#. Programmer's name for it: SStart\r
+#: Vcl/Consts.pas:230 \r
+msgid "start"
+msgstr "inicio"
+
+#. Programmer's name for it: SStop\r
+#: Vcl/Consts.pas:231 \r
+msgid "stop"
+msgstr "parada"
+
+#. Programmer's name for it: SPause\r
+#: Vcl/Consts.pas:232 \r
+msgid "pause"
+msgstr "pausa"
+
+#. Programmer's name for it: SContinue\r
+#: Vcl/Consts.pas:233 \r
+msgid "continue"
+msgstr "continuar"
+
+#. Programmer's name for it: SInterrogate\r
+#: Vcl/Consts.pas:234 \r
+msgid "interrogate"
+msgstr "pregunta"
+
+#. Programmer's name for it: SShutdown\r
+#: Vcl/Consts.pas:235 \r
+msgid "shutdown"
+msgstr "apagado"
+
+#. Programmer's name for it: SCustomError\r
+#: Vcl/Consts.pas:236 \r
+msgid "Service failed in custom message(%d): %s"
+msgstr "El servicio falló en mensaje personalizado (%d): %s"
+
+#. Programmer's name for it: SServiceInstallOK\r
+#: Vcl/Consts.pas:237 \r
+msgid "Service installed successfully"
+msgstr "Servicio instalado satisfactoriamente"
+
+#. Programmer's name for it: SServiceInstallFailed\r
+#: Vcl/Consts.pas:238 \r
+msgid "Service \"%s\" failed to install with error: \"%s\""
+msgstr "Se ha producido un error al instalar el servicio \"%s\". Error: \"%s\""
+
+#. Programmer's name for it: SServiceUninstallOK\r
+#: Vcl/Consts.pas:239 \r
+msgid "Service uninstalled successfully"
+msgstr "Servicio desinstalado satisfactoriamente"
+
+#. Programmer's name for it: SServiceUninstallFailed\r
+#: Vcl/Consts.pas:240 \r
+msgid "Service \"%s\" failed to uninstall with error: \"%s\""
+msgstr ""
+"Se ha producido un error al desintalar el servicio \"%s\". Error: \"%s\""
+
+#. Programmer's name for it: SDockedCtlNeedsName\r
+#: Vcl/Consts.pas:247 \r
+msgid "Docked control must have a name"
+msgstr "El control de acoplamiento debe tener un nombre"
+
+#. Programmer's name for it: SDockTreeRemoveError\r
+#: Vcl/Consts.pas:248 \r
+msgid "Error removing control from dock tree"
+msgstr ""
+"Se ha producido un error al eliminar el control del árbol de acoplamiento"
+
+#. Programmer's name for it: SDockZoneNotFound\r
+#: Vcl/Consts.pas:249 \r
+msgid " - Dock zone not found"
+msgstr " - Zona de acoplamiento no encontrada"
+
+#. Programmer's name for it: SDockZoneHasNoCtl\r
+#: Vcl/Consts.pas:250 \r
+msgid " - Dock zone has no control"
+msgstr " - Zona de acoplamiento no tiene un control"
+
+#. Programmer's name for it: SBrowserExecError\r
+#: Vcl/Consts.pas:257 \r
+msgid "No default browser is specified"
+msgstr "No hay navegador especificado por defecto"
+
+#. Programmer's name for it: SColorBoxCustomCaption\r
+#: Vcl/Consts.pas:259 \r
+msgid "Custom..."
+msgstr "Personalizar..."
+
+#. Programmer's name for it: SMultiSelectRequired\r
+#: Vcl/Consts.pas:261 \r
+msgid "Multiselect mode must be on for this feature"
+msgstr "El modo Multiselect debe estar activado para esta opción"
+
+#. Programmer's name for it: SKeyCaption\r
+#: Vcl/Consts.pas:263 \r
+msgid "Key"
+msgstr "Clave"
+
+#. Programmer's name for it: SValueCaption\r
+#: Vcl/Consts.pas:264 \r
+msgid "Value"
+msgstr "Valor"
+
+#. Programmer's name for it: SKeyConflict\r
+#: Vcl/Consts.pas:265 \r
+msgid "A key with the name of \"%s\" already exists"
+msgstr "Una clave con el nombre \"%s\" ya existe"
+
+#. Programmer's name for it: SKeyNotFound\r
+#: Vcl/Consts.pas:266 \r
+msgid "Key \"%s\" not found"
+msgstr "Clave \"%s\" no encontrada"
+
+#. Programmer's name for it: SNoColumnMoving\r
+#: Vcl/Consts.pas:267 \r
+msgid "goColMoving is not a supported option"
+msgstr "goColMoving no es una opción soportada"
+
+#. Programmer's name for it: SNoEqualsInKey\r
+#: Vcl/Consts.pas:268 \r
+msgid "Key may not contain equals sign (\"=\")"
+msgstr "La clave podría no contener signos igual (\"=\")"
+
+#. Programmer's name for it: SSendError\r
+#: Vcl/Consts.pas:270 \r
+msgid "Error sending mail"
+msgstr "Se ha producido un error al enviar el correo"
+
+#. Programmer's name for it: SAssignSubItemError\r
+#: Vcl/Consts.pas:271 \r
+msgid ""
+"Cannot assign a subitem to an actionbar when one of it's parent's is already "
+"assigned to an actionbar"
+msgstr ""
+"No se puede asignar un subelemento a un ActionBar cuando uno de sus "
+"ancestros ya está asignado a un ActionBar"
+
+#. Programmer's name for it: SDeleteItemWithSubItems\r
+#: Vcl/Consts.pas:272 \r
+msgid "Item %s has subitems, delete anyway?"
+msgstr "El elemento %s tiene subelementos. ¿Eliminar de todos modos?"
+
+#. Programmer's name for it: SMoreButtons\r
+#: Vcl/Consts.pas:273 \r
+msgid "More Buttons"
+msgstr "Más botones"
+
+#. Programmer's name for it: SErrorDownloadingURL\r
+#: Vcl/Consts.pas:274 \r
+msgid "Error downloading URL: %s"
+msgstr "Se ha producido un error en la descarga URL: %s"
+
+#. Programmer's name for it: SAllActions\r
+#: Vcl/Consts.pas:275 \r
+msgid "(All Actions)"
+msgstr "(Todas las acciones)"
+
+#. Programmer's name for it: SNoCategory\r
+#: Vcl/Consts.pas:276 \r
+msgid "(No Category)"
+msgstr "Ninguna categoría"
+
+#. Programmer's name for it: SExpand\r
+#: Vcl/Consts.pas:277 \r
+msgid "Expand"
+msgstr "Expandir"
+
+#. Programmer's name for it: SErrorSettingPath\r
+#: Vcl/Consts.pas:278 \r
+msgid "Error setting path: \"%s\""
+msgstr "Se ha producido un error al establecer la ruta: \"%s\""
+
+#. Programmer's name for it: SLBPutError\r
+#: Vcl/Consts.pas:279 \r
+msgid "Attempting to put items into a virtual style listbox"
+msgstr "Intentando colocar elementos en una ListBox de estilo virtual"
+
+#. Programmer's name for it: SErrorLoadingFile\r
+#: Vcl/Consts.pas:280 \r
+msgid ""
+"Error loading previously saved settings file: %sWould you like to delete it?"
+msgstr ""
+"Se ha producido un error al cargar el archivo de asignaciones previamente "
+"guardado: %s ¿Querría borrarlo?"
+
+#. Programmer's name for it: SResetUsageData\r
+#: Vcl/Consts.pas:281 \r
+msgid "Reset all usage data?"
+msgstr "¿Inicializar todos los datos del usuario?"
+
+#. Programmer's name for it: SFileRunDialogTitle\r
+#. StandardActions..ActionList1..FileRun1..BrowseDlg.Title\r
+#: Vcl/Consts.pas:282 \r Vcl/ActnRes.dfm:237
+msgid "Run"
+msgstr "Ejecutar"
+
+#. Programmer's name for it: SNoName\r
+#: Vcl/Consts.pas:283 \r
+msgid "(No Name)"
+msgstr "(Sin nombre)"
+
+#. Programmer's name for it: SErrorActionManagerNotAssigned\r
+#: Vcl/Consts.pas:284 \r
+msgid "ActionManager must first be assigned"
+msgstr "El ActionManager primero debe ser asignado"
+
+#. Programmer's name for it: SAddRemoveButtons\r
+#: Vcl/Consts.pas:285 \r
+msgid "&Add or Remove Buttons"
+msgstr "&Añadir o eliminar botones"
+
+#. Programmer's name for it: SResetActionToolBar\r
+#: Vcl/Consts.pas:286 \r
+msgid "Reset Toolbar"
+msgstr "Inicializar Toolbar"
+
+#. Programmer's name for it: SCustomize\r
+#: Vcl/Consts.pas:287 \r
+msgid "&Customize"
+msgstr "&Personalizar"
+
+#. Programmer's name for it: SSeparator\r
+#: Vcl/Consts.pas:288 \r
+msgid "Separator"
+msgstr "Separador"
+
+#. Programmer's name for it: SCirularReferencesNotAllowed\r
+#: Vcl/Consts.pas:289 \r
+msgid "Circular references not allowed"
+msgstr "No se permiten referencias circulares"
+
+#. Programmer's name for it: SCannotHideActionBand\r
+#: Vcl/Consts.pas:290 \r
+msgid "%s does not allow hiding"
+msgstr "%s no permite ocultarse"
+
+#. Programmer's name for it: SErrorSettingCount\r
+#: Vcl/Consts.pas:291 \r
+msgid "Error setting %s.Count"
+msgstr "Se ha producido un error al establecer %s.Count"
+
+#. Programmer's name for it: SListBoxMustBeVirtual\r
+#: Vcl/Consts.pas:292 \r
+msgid "Listbox (%s) style must be virtual in order to set Count"
+msgstr "El estilo del Listbox (%s) debe ser virtual para establecer Count"
+
+#. Programmer's name for it: SUnableToSaveSettings\r
+#: Vcl/Consts.pas:293 \r
+msgid "Unable to save settings"
+msgstr "Incapaz de guadar la configuración"
+
+#. Programmer's name for it: sInvalidClassReference\r
+#: Vcl/CtlConsts.pas:14 \r
+msgid "Invalid class reference for TAppletApplication"
+msgstr "Referencia de clase no válida para TAppletApplication"
+
+#. Programmer's name for it: SInvalidFieldSize\r
+#: Vcl/DBConsts.pas:15 \r
+msgid "Invalid field size"
+msgstr "Tamaño de campo no válido"
+
+#. Programmer's name for it: SInvalidFieldKind\r
+#: Vcl/DBConsts.pas:16 \r
+msgid "Invalid FieldKind"
+msgstr "Tipo de campo no válido"
+
+#. Programmer's name for it: SInvalidFieldRegistration\r
+#: Vcl/DBConsts.pas:17 \r
+msgid "Invalid field registration"
+msgstr "Registro del campo no válido"
+
+#. Programmer's name for it: SUnknownFieldType\r
+#: Vcl/DBConsts.pas:18 \r
+msgid "Field '%s' is of an unknown type"
+msgstr "El tipo del campo '%s' es desconocido"
+
+#. Programmer's name for it: SFieldNameMissing\r
+#: Vcl/DBConsts.pas:19 \r
+msgid "Field name missing"
+msgstr "Falta el nombre del campo"
+
+#. Programmer's name for it: SDuplicateFieldName\r
+#: Vcl/DBConsts.pas:20 \r
+msgid "Duplicate field name '%s'"
+msgstr "Nombre de campo '%s' duplicado"
+
+#. Programmer's name for it: SFieldNotFound\r
+#: Vcl/DBConsts.pas:21 \r
+msgid "Field '%s' not found"
+msgstr "No se encuentra el campo %s"
+
+#. Programmer's name for it: SFieldAccessError\r
+#: Vcl/DBConsts.pas:22 \r
+msgid "Cannot access field '%s' as type %s"
+msgstr "No se puede acceder el campo '%s' como tipo %s"
+
+#. Programmer's name for it: SFieldValueError\r
+#: Vcl/DBConsts.pas:23 \r
+msgid "Invalid value for field '%s'"
+msgstr "Valor no válido para el campo '%s'"
+
+#. Programmer's name for it: SFieldRangeError\r
+#: Vcl/DBConsts.pas:24 \r
+msgid "%g is not a valid value for field '%s'. The allowed range is %g to %g"
+msgstr ""
+"%g no es un valor permitido para el campo '%s'. El rango válido es de %g a %g"
+
+#. Programmer's name for it: SBcdFieldRangeError\r
+#: Vcl/DBConsts.pas:25 \r
+msgid "%s is not a valid value for field '%s'. The allowed range is %s to %s"
+msgstr ""
+"%s no es un valor permitido para el campo '%s'. El rango válido es de %s a %s"
+
+#. Programmer's name for it: SInvalidIntegerValue\r
+#: Vcl/DBConsts.pas:26 \r
+msgid "'%s' is not a valid integer value for field '%s'"
+msgstr "'%s' no es un valor entero válido para el campo '%s'"
+
+#. Programmer's name for it: SInvalidBoolValue\r
+#: Vcl/DBConsts.pas:27 \r
+msgid "'%s' is not a valid boolean value for field '%s'"
+msgstr "'%s' no es un valor lógico válido para el campo '%s'"
+
+#. Programmer's name for it: SInvalidFloatValue\r
+#: Vcl/DBConsts.pas:28 \r
+msgid "'%s' is not a valid floating point value for field '%s'"
+msgstr "'%s' no es un valor punto flotante válido para el campo '%s'"
+
+#. Programmer's name for it: SFieldTypeMismatch\r
+#: Vcl/DBConsts.pas:29 \r
+msgid "Type mismatch for field '%s', expecting: %s actual: %s"
+msgstr "El campo '%s' no es del tipo esperado %s, es %s"
+
+#. Programmer's name for it: SFieldSizeMismatch\r
+#: Vcl/DBConsts.pas:30 \r
+msgid "Size mismatch for field '%s', expecting: %d actual: %d"
+msgstr "El campo '%s' no es del tamaño esperado %d, es %d"
+
+#. Programmer's name for it: SInvalidVarByteArray\r
+#: Vcl/DBConsts.pas:31 \r
+msgid "Invalid variant type or size for field '%s'"
+msgstr "Tipo o tamaño de variante no válido para el campo '%s'"
+
+#. Programmer's name for it: SFieldOutOfRange\r
+#: Vcl/DBConsts.pas:32 \r
+msgid "Value of field '%s' is out of range"
+msgstr "El valor del campo '%s' está fuera del rango"
+
+#. SBCDOverflow = '(Overflow)';\r
+#: Vcl/DBConsts.pas:34 \r
+msgid "Field '%s' must have a value"
+msgstr "El campo '%s' debe contener un valor"
+
+#. Programmer's name for it: SDataSetMissing\r
+#: Vcl/DBConsts.pas:35 \r
+msgid "Field '%s' has no dataset"
+msgstr "El campo '%s' no tiene fuente de datos"
+
+#. Programmer's name for it: SInvalidCalcType\r
+#: Vcl/DBConsts.pas:36 \r
+msgid "Field '%s' cannot be a calculated or lookup field"
+msgstr "El campo '%s' no es de tipo calculado o búsqueda"
+
+#. Programmer's name for it: SFieldReadOnly\r
+#: Vcl/DBConsts.pas:37 \r
+msgid "Field '%s' cannot be modified"
+msgstr "El campo '%s' no se puede modificar"
+
+#. Programmer's name for it: SFieldIndexError\r
+#: Vcl/DBConsts.pas:38 \r
+msgid "Field index out of range"
+msgstr "Indice de campo fuera de rango"
+
+#. Programmer's name for it: SNoFieldIndexes\r
+#: Vcl/DBConsts.pas:39 \r
+msgid "No index currently active"
+msgstr "Actualmente no hay un índice activo"
+
+#. Programmer's name for it: SNotIndexField\r
+#: Vcl/DBConsts.pas:40 \r
+msgid "Field '%s' is not indexed and cannot be modified"
+msgstr "El campo '%s' no está indexado y no se puede modificar"
+
+#. Programmer's name for it: SIndexFieldMissing\r
+#: Vcl/DBConsts.pas:41 \r
+msgid "Cannot access index field '%s'"
+msgstr "Inaccesible el campo '%s' del índice"
+
+#. Programmer's name for it: SDuplicateIndexName\r
+#: Vcl/DBConsts.pas:42 \r
+msgid "Duplicate index name '%s'"
+msgstr "Nombre de índice '%s' duplicado"
+
+#. Programmer's name for it: SNoIndexForFields\r
+#: Vcl/DBConsts.pas:43 \r
+msgid "No index for fields '%s'"
+msgstr "No hay índice para los campos '%s' "
+
+#. Programmer's name for it: SIndexNotFound\r
+#: Vcl/DBConsts.pas:44 \r
+msgid "Index '%s' not found"
+msgstr "El índice '%s' no existe"
+
+#. Programmer's name for it: SDuplicateName\r
+#: Vcl/DBConsts.pas:45 \r
+msgid "Duplicate name '%s' in %s"
+msgstr "Nombre '%s' duplicado en %s"
+
+#. Programmer's name for it: SCircularDataLink\r
+#: Vcl/DBConsts.pas:46 \r
+msgid "Circular datalinks are not allowed"
+msgstr "No se permiten enlaces de datos circulares"
+
+#. Programmer's name for it: SLookupInfoError\r
+#: Vcl/DBConsts.pas:47 \r
+msgid "Lookup information for field '%s' is incomplete"
+msgstr "La información de búsqueda para el campo '%s' está incompleta"
+
+#. Programmer's name for it: SNewLookupFieldCaption\r
+#: Vcl/DBConsts.pas:48 \r
+msgid "New Lookup Field"
+msgstr "Nuevo campo Lookup"
+
+#. Programmer's name for it: SDataSourceChange\r
+#: Vcl/DBConsts.pas:49 \r
+msgid "DataSource cannot be changed"
+msgstr "La fuente de datos no puede ser cambiada"
+
+#. Programmer's name for it: SNoNestedMasterSource\r
+#: Vcl/DBConsts.pas:50 \r
+msgid "Nested datasets cannot have a MasterSource"
+msgstr "La datasets anidados no pueden tener un MasterSource"
+
+#. Programmer's name for it: SDataSetOpen\r
+#: Vcl/DBConsts.pas:51 \r
+msgid "Cannot perform this operation on an open dataset"
+msgstr "No puede ejecutarse esta operación en un dataset abierto"
+
+#. Programmer's name for it: SNotEditing\r
+#: Vcl/DBConsts.pas:52 \r
+msgid "Dataset not in edit or insert mode"
+msgstr "El dataset no está en modo edición o inserción"
+
+#. Programmer's name for it: SDataSetClosed\r
+#: Vcl/DBConsts.pas:53 \r
+msgid "Cannot perform this operation on a closed dataset"
+msgstr "No puede ejecutarse esta operación en un dataset cerrado"
+
+#. Programmer's name for it: SDataSetEmpty\r
+#: Vcl/DBConsts.pas:54 \r
+msgid "Cannot perform this operation on an empty dataset"
+msgstr "No puede ejecutarse esta operación en un dataset vacío"
+
+#. Programmer's name for it: SDataSetReadOnly\r
+#: Vcl/DBConsts.pas:55 \r
+msgid "Cannot modify a read-only dataset"
+msgstr "No puede modificarse un dataset de sólo lectura"
+
+#. Programmer's name for it: SNestedDataSetClass\r
+#: Vcl/DBConsts.pas:56 \r
+msgid "Nested dataset must inherit from %s"
+msgstr "El dataset anidado debe heredar de %s"
+
+#. Programmer's name for it: SExprTermination\r
+#: Vcl/DBConsts.pas:57 \r
+msgid "Filter expression incorrectly terminated"
+msgstr "Expresión del filtro terminada incorrectamente"
+
+#. Programmer's name for it: SExprNameError\r
+#: Vcl/DBConsts.pas:58 \r
+msgid "Unterminated field name"
+msgstr "Nombre de campo sin terminar"
+
+#. Programmer's name for it: SExprStringError\r
+#: Vcl/DBConsts.pas:59 \r
+msgid "Unterminated string constant"
+msgstr "Cadena constante sin terminar"
+
+#. Programmer's name for it: SExprInvalidChar\r
+#: Vcl/DBConsts.pas:60 \r
+msgid "Invalid filter expression character: '%s'"
+msgstr "Carácter '%s' no válido en una expresión de filtro"
+
+#. Programmer's name for it: SExprNoLParen\r
+#: Vcl/DBConsts.pas:61 \r
+msgid "'(' expected but %s found"
+msgstr " '(' esperado, pero se encontró %s"
+
+#. Programmer's name for it: SExprNoRParen\r
+#: Vcl/DBConsts.pas:62 \r
+msgid "')' expected but %s found"
+msgstr " ')' esperado, pero se encontró %s"
+
+#. Programmer's name for it: SExprNoRParenOrComma\r
+#: Vcl/DBConsts.pas:63 \r
+msgid "')' or ',' expected but %s found"
+msgstr "')' o ',' esperados, pero se encontró %s"
+
+#. Programmer's name for it: SExprExpected\r
+#: Vcl/DBConsts.pas:64 \r
+msgid "Expression expected but %s found"
+msgstr "Expresión esperada pero encontrado %s"
+
+#. Programmer's name for it: SExprBadField\r
+#: Vcl/DBConsts.pas:65 \r
+msgid "Field '%s' cannot be used in a filter expression"
+msgstr "El campo '%s' no se puede utilizar en una expresión de filtro"
+
+#. Programmer's name for it: SExprBadNullTest\r
+#: Vcl/DBConsts.pas:66 \r
+msgid "NULL only allowed with '=' and '<>'"
+msgstr "El valor nulo (NULL) sólo se permite con '=' y '<>'"
+
+#. Programmer's name for it: SExprRangeError\r
+#: Vcl/DBConsts.pas:67 \r
+msgid "Constant out of range"
+msgstr "Constante fuera de rango"
+
+#. Programmer's name for it: SExprNotBoolean\r
+#: Vcl/DBConsts.pas:68 \r
+msgid "Field '%s' is not of type Boolean"
+msgstr "El campo '%s' no es de tipo lógico"
+
+#. Programmer's name for it: SExprIncorrect\r
+#: Vcl/DBConsts.pas:69 \r
+msgid "Incorrectly formed filter expression"
+msgstr "Expresión del filtro formada incorrectamente"
+
+#. Programmer's name for it: SExprNothing\r
+#: Vcl/DBConsts.pas:70 \r
+msgid "nothing"
+msgstr "nada"
+
+#. Programmer's name for it: SExprTypeMis\r
+#: Vcl/DBConsts.pas:71 \r
+msgid "Type mismatch in expression"
+msgstr "El tipo no concuerda en la expresión"
+
+#. Programmer's name for it: SExprBadScope\r
+#: Vcl/DBConsts.pas:72 \r
+msgid "Operation cannot mix aggregate value with record-varying value"
+msgstr ""
+"La operación no puede mezclar valores de agregación con valores de registro "
+"variable"
+
+#. Programmer's name for it: SExprNoArith\r
+#: Vcl/DBConsts.pas:73 \r
+msgid "Arithmetic in filter expressions not supported"
+msgstr "Operación aritmética no soportada en la expresión del filtro"
+
+#. Programmer's name for it: SExprNotAgg\r
+#: Vcl/DBConsts.pas:74 \r
+msgid "Expression is not an aggregate expression"
+msgstr "La expresión no es una expresión de agregación"
+
+#. Programmer's name for it: SExprBadConst\r
+#: Vcl/DBConsts.pas:75 \r
+msgid "Constant is not correct type %s"
+msgstr "La constante no es del tipo correcto %s"
+
+#. Programmer's name for it: SExprNoAggFilter\r
+#: Vcl/DBConsts.pas:76 \r
+msgid "Aggregate expressions not allowed in filters"
+msgstr "No se permiten expresiones de agregación en los filtros"
+
+#. Programmer's name for it: SExprEmptyInList\r
+#: Vcl/DBConsts.pas:77 \r
+msgid "IN predicate list may not be empty"
+msgstr "No puede estar vacía la lista de predicados de entrada (IN)"
+
+#. Programmer's name for it: SInvalidKeywordUse\r
+#: Vcl/DBConsts.pas:78 \r
+msgid "Invalid use of keyword"
+msgstr "Uso de clave no válido"
+
+#. Programmer's name for it: SParameterNotFound\r
+#: Vcl/DBConsts.pas:81 \r
+msgid "Parameter '%s' not found"
+msgstr "No se encuentra el parámetro '%s'"
+
+#. Programmer's name for it: SInvalidVersion\r
+#: Vcl/DBConsts.pas:82 \r
+msgid "Unable to load bind parameters"
+msgstr "No se pueden leer los argumentos de enlace"
+
+#. Programmer's name for it: SParamTooBig\r
+#: Vcl/DBConsts.pas:83 \r
+msgid "Parameter '%s', cannot save data larger than %d bytes"
+msgstr "El parámetro '%s' no puede guardar datos mayores a %d bytes"
+
+#. Programmer's name for it: SBadFieldType\r
+#: Vcl/DBConsts.pas:84 \r
+msgid "Field '%s' is of an unsupported type"
+msgstr "El campo '%s' es de un tipo no soportado"
+
+#. Programmer's name for it: SAggActive\r
+#: Vcl/DBConsts.pas:85 \r
+msgid "Property may not be modified while aggregate is active"
+msgstr "La propiedad no puede ser modificada mientras agregar esté activo"
+
+#. Programmer's name for it: SProviderSQLNotSupported\r
+#: Vcl/DBConsts.pas:86 \r
+msgid "SQL not supported: %s"
+msgstr "SQL no soportado: %s"
+
+#. Programmer's name for it: SProviderExecuteNotSupported\r
+#: Vcl/DBConsts.pas:87 \r
+msgid "Execute not supported: %s"
+msgstr "Ejecutar no soportado: %s"
+
+#. Programmer's name for it: SExprNoAggOnCalcs\r
+#: Vcl/DBConsts.pas:88 \r
+msgid ""
+"Field '%s' is not the correct type of calculated field to be used in an "
+"aggregate, use an internalcalc"
+msgstr ""
+"El campo %s no es un tipo correcto de campo calculado para ser usado en una "
+"agregración, utiliza un \"internalcalc\""
+
+#. Programmer's name for it: SRecordChanged\r
+#: Vcl/DBConsts.pas:89 \r
+msgid "Record not found or changed by another user"
+msgstr "Registro no encontrado o cambiado por otro usuario"
+
+#. Programmer's name for it: SDataSetUnidirectional\r
+#: Vcl/DBConsts.pas:90 \r
+msgid "Operation not allowed on a unidirectional dataset"
+msgstr "Operación no permitida en una fuente de datos unidireccional"
+
+#. Programmer's name for it: SUnassignedVar\r
+#: Vcl/DBConsts.pas:91 \r
+msgid "Unassigned variant value"
+msgstr "Valor variant sin asignar"
+
+#. Programmer's name for it: SRecordNotFound\r
+#: Vcl/DBConsts.pas:92 \r Vcl/MidConst.pas:62
+msgid "Record not found"
+msgstr "Registro no encontrado"
+
+#. Programmer's name for it: SFileNameBlank\r
+#: Vcl/DBConsts.pas:93 \r
+msgid "FileName property cannot be blank"
+msgstr "La propiedad FileName no puede estar en blanco"
+
+#. Programmer's name for it: SBcdOverflow\r
+#: Vcl/DBConsts.pas:97 \r
+msgid "BCD overflow"
+msgstr "Sobrecarga BCD"
+
+#. Programmer's name for it: SInvalidBcdValue\r
+#: Vcl/DBConsts.pas:98 \r
+msgid "%s is not a valid BCD value"
+msgstr "%s no es un valor BCD válido"
+
+#. Programmer's name for it: SInvalidFormatType\r
+#: Vcl/DBConsts.pas:99 \r
+msgid "Invalid format type for BCD"
+msgstr "Tipo de formato para BCD no válido"
+
+#. Programmer's name for it: SCouldNotParseTimeStamp\r
+#: Vcl/DBConsts.pas:103 \r
+msgid "Could not parse SQL TimeStamp string"
+msgstr "Podría no analizar la cadena SQL TimeStamp"
+
+#. Programmer's name for it: SInvalidSqlTimeStamp\r
+#: Vcl/DBConsts.pas:104 \r
+msgid "Invalid SQL date/time values"
+msgstr "Valores fecha/hora SQL no válidos"
+
+#. Programmer's name for it: SBackupCaption\r
+#: Vcl/IBDCLConst.pas:6 \r
+msgid "Backup Database files"
+msgstr ""
+
+#. Programmer's name for it: SRestoreSize\r
+#: Vcl/IBDCLConst.pas:7 \r
+msgid "Size(Bytes)"
+msgstr ""
+
+#. Programmer's name for it: SFileNames\r
+#: Vcl/IBDCLConst.pas:8 \r
+msgid "Filename(s)"
+msgstr ""
+
+#. Programmer's name for it: SPages\r
+#: Vcl/IBDCLConst.pas:9 \r
+msgid "Pages"
+msgstr "Páginas"
+
+#. Programmer's name for it: SDatabasefiles\r
+#: Vcl/IBDCLConst.pas:10 \r
+msgid "Database Files|*.gdb"
+msgstr ""
+
+#. Programmer's name for it: SIBTransactionEditor\r
+#: Vcl/IBXConst.pas:41 \r
+msgid "&Transaction Editor..."
+msgstr "Editor de transacción..."
+
+#. Programmer's name for it: SDatabaseFilter\r
+#: Vcl/IBXConst.pas:42 \r
+msgid "Database Files (*.gdb)|*.gdb|All files (*.*)|*.*"
+msgstr ""
+
+#. Programmer's name for it: SCommitTransaction\r
+#: Vcl/IBXConst.pas:44 \r
+msgid "Transaction is currently Active. Rollback and continue?"
+msgstr ""
+
+#. Programmer's name for it: SIBDataSetEditor\r
+#: Vcl/IBXConst.pas:50 \r
+msgid "&Dataset Editor..."
+msgstr "Editor del Conjunto de Da&tos..."
+
+#. Programmer's name for it: SDefaultTransaction\r
+#: Vcl/IBXConst.pas:52 \r
+msgid "%s, Default"
+msgstr ""
+
+#. Programmer's name for it: SUnknownError\r
+#: Vcl/IBXConst.pas:55 \r
+msgid "Unknown error"
+msgstr "Hay un error desconocido"
+
+#. Programmer's name for it: SInterBaseMissing\r
+#: Vcl/IBXConst.pas:57 \r
+msgid ""
+"InterBase library gds32.dll not found in the path. Please install InterBase "
+"to use this functionality"
+msgstr ""
+
+#. Programmer's name for it: SInterBaseMissing\r
+#: Vcl/IBXConst.pas:60 \r
+msgid ""
+"InterBase library gds.so.0 not found in the path. Please install InterBase "
+"to use this functionality"
+msgstr ""
+
+#. Programmer's name for it: SInterBaseInstallMissing\r
+#: Vcl/IBXConst.pas:62 \r
+msgid ""
+"InterBase Install DLL ibinstall.dll not found in the path. Please install "
+"InterBase 6 to use this functionality"
+msgstr ""
+
+#. Programmer's name for it: SIB60feature\r
+#: Vcl/IBXConst.pas:63 \r
+msgid ""
+"%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this "
+"functonality"
+msgstr ""
+
+#. Programmer's name for it: SNotSupported\r
+#: Vcl/IBXConst.pas:64 \r
+msgid "Unsupported feature"
+msgstr "Característica no soportada"
+
+#. Programmer's name for it: SNotPermitted\r
+#: Vcl/IBXConst.pas:65 \r
+msgid "Not permitted"
+msgstr "No permitido"
+
+#. Programmer's name for it: SFileAccessError\r
+#: Vcl/IBXConst.pas:66 \r
+msgid "Temporary file access error"
+msgstr ""
+
+#. Programmer's name for it: SConnectionTimeout\r
+#: Vcl/IBXConst.pas:67 \r
+msgid "Database connection timed out"
+msgstr "Conexión a base de datos fuera de tiempo."
+
+#. Programmer's name for it: SCannotSetDatabase\r
+#: Vcl/IBXConst.pas:68 \r
+msgid "Cannot set database"
+msgstr "No se puede establecer la base de datos"
+
+#. Programmer's name for it: SCannotSetTransaction\r
+#: Vcl/IBXConst.pas:69 \r
+msgid "Cannot set transaction"
+msgstr ""
+
+#. Programmer's name for it: SOperationCancelled\r
+#: Vcl/IBXConst.pas:70 \r
+msgid "Operation cancelled at user's request"
+msgstr ""
+
+#. Programmer's name for it: SDPBConstantNotSupported\r
+#: Vcl/IBXConst.pas:71 \r
+msgid "DPB Constant (isc_dpb_%s) is unsupported"
+msgstr ""
+
+#. Programmer's name for it: SDPBConstantUnknown\r
+#: Vcl/IBXConst.pas:72 \r
+msgid "DPB Constant (%d) is unknown"
+msgstr ""
+
+#. Programmer's name for it: STPBConstantNotSupported\r
+#: Vcl/IBXConst.pas:73 \r
+msgid "TPB Constant (isc_tpb_%s) is unsupported"
+msgstr ""
+
+#. Programmer's name for it: STPBConstantUnknown\r
+#: Vcl/IBXConst.pas:74 \r
+msgid "TPB Constant (%d) is unknown"
+msgstr ""
+
+#. Programmer's name for it: SDatabaseClosed\r
+#: Vcl/IBXConst.pas:75 \r
+msgid "Cannot perform operation -- DB is not open"
+msgstr ""
+"No se puede ejecutar esta operación en una base de datos que no está abierta"
+
+#. Programmer's name for it: SDatabaseOpen\r
+#: Vcl/IBXConst.pas:76 \r
+msgid "Cannot perform operation -- DB is currently open"
+msgstr "No se puede ejecutar esta operación en una base de datos abierta"
+
+#. Programmer's name for it: SDatabaseNameMissing\r
+#: Vcl/IBXConst.pas:77 \r
+msgid "Database name is missing"
+msgstr "Base de datos no posee nombre"
+
+#. Programmer's name for it: SNotInTransaction\r
+#: Vcl/IBXConst.pas:78 \r
+msgid "Transaction is not active"
+msgstr ""
+
+#. Programmer's name for it: SInTransaction\r
+#: Vcl/IBXConst.pas:79 \r
+msgid "Transaction is active"
+msgstr ""
+
+#. Programmer's name for it: STimeoutNegative\r
+#: Vcl/IBXConst.pas:80 \r
+msgid "Timeout values cannot be negative"
+msgstr ""
+
+#. Programmer's name for it: SNoDatabasesInTransaction\r
+#: Vcl/IBXConst.pas:81 \r
+msgid "No databases are listed in transaction component"
+msgstr ""
+
+#. Programmer's name for it: SUpdateWrongDB\r
+#: Vcl/IBXConst.pas:82 \r
+msgid "Updating wrong database"
+msgstr ""
+
+#. Programmer's name for it: SUpdateWrongTR\r
+#: Vcl/IBXConst.pas:83 \r
+msgid "Updating wrong transaction. Unique transaction expected in set"
+msgstr ""
+
+#. Programmer's name for it: SDatabaseNotAssigned\r
+#: Vcl/IBXConst.pas:84 \r
+msgid "Database not assigned"
+msgstr "Base de datos no asignada"
+
+#. Programmer's name for it: STransactionNotAssigned\r
+#: Vcl/IBXConst.pas:85 \r
+msgid "Transaction not assigned"
+msgstr "Transacción no asignada"
+
+#. Programmer's name for it: SXSQLDAIndexOutOfRange\r
+#: Vcl/IBXConst.pas:86 \r
+msgid "XSQLDA index out of range"
+msgstr "El índice de XSQLDA está fuera del rango"
+
+#. Programmer's name for it: SXSQLDANameDoesNotExist\r
+#: Vcl/IBXConst.pas:87 \r
+msgid "XSQLDA name does not exist (%s)"
+msgstr "El nombre XSQLDA no existe (%s)"
+
+#. Programmer's name for it: SEOF\r
+#: Vcl/IBXConst.pas:88 \r
+msgid "End of file"
+msgstr ""
+
+#. Programmer's name for it: SBOF\r
+#: Vcl/IBXConst.pas:89 \r
+msgid "Beginning of file"
+msgstr ""
+
+#. Programmer's name for it: SInvalidStatementHandle\r
+#: Vcl/IBXConst.pas:90 \r
+msgid "Invalid statement handle"
+msgstr "Manejador (handle) de la declaración no válido"
+
+#. Programmer's name for it: SSQLOpen\r
+#: Vcl/IBXConst.pas:91 \r
+msgid "IBSQL Open"
+msgstr ""
+
+#. Programmer's name for it: SSQLClosed\r
+#: Vcl/IBXConst.pas:92 \r
+msgid "IBSQL Closed"
+msgstr ""
+
+#. Programmer's name for it: SDatasetOpen\r
+#: Vcl/IBXConst.pas:93 \r
+msgid "Dataset open"
+msgstr ""
+
+#. Programmer's name for it: SDatasetClosed\r
+#: Vcl/IBXConst.pas:94 \r
+msgid "Dataset closed"
+msgstr ""
+
+#. Programmer's name for it: SUnknownSQLDataType\r
+#: Vcl/IBXConst.pas:95 \r
+msgid "Unknown SQL Data type (%d)"
+msgstr "Tipo de dato SQL (%d) desconocido"
+
+#. Programmer's name for it: SInvalidColumnIndex\r
+#: Vcl/IBXConst.pas:96 \r
+msgid "Invalid column index (index exceeds permitted range)"
+msgstr ""
+
+#. Programmer's name for it: SInvalidParamColumnIndex\r
+#: Vcl/IBXConst.pas:97 \r
+msgid "Invalid parameter index (index exceeds permitted range)"
+msgstr ""
+
+#. Programmer's name for it: SInvalidDataConversion\r
+#: Vcl/IBXConst.pas:98 \r
+msgid "Invalid data conversion"
+msgstr "Conversión de dato no válida"
+
+#. Programmer's name for it: SColumnIsNotNullable\r
+#: Vcl/IBXConst.pas:99 \r
+msgid "Column cannot be set to null (%s)"
+msgstr ""
+
+#. Programmer's name for it: SBlobCannotBeRead\r
+#: Vcl/IBXConst.pas:100 \r
+msgid "Blob stream cannot be read"
+msgstr ""
+
+#. Programmer's name for it: SBlobCannotBeWritten\r
+#: Vcl/IBXConst.pas:101 \r
+msgid "Blob stream cannot be written"
+msgstr ""
+
+#. Programmer's name for it: SEmptyQuery\r
+#: Vcl/IBXConst.pas:102 \r
+msgid "Empty query"
+msgstr ""
+
+#. Programmer's name for it: SCannotOpenNonSQLSelect\r
+#: Vcl/IBXConst.pas:103 \r
+msgid "Cannot \"open\" a non-select statement. Use ExecQuery"
+msgstr ""
+
+#. Programmer's name for it: SNoFieldAccess\r
+#: Vcl/IBXConst.pas:104 \r
+msgid "No access to field \"%s\""
+msgstr ""
+
+#. Programmer's name for it: SFieldReadOnly\r
+#: Vcl/IBXConst.pas:105 \r
+msgid "Field \"%s\" is read-only"
+msgstr ""
+
+#. Programmer's name for it: SFieldNotFound\r
+#: Vcl/IBXConst.pas:106 \r
+msgid "Field \"%s\" not found"
+msgstr "El campo \"%s\" no se ha encontrado"
+
+#. Programmer's name for it: SNotEditing\r
+#: Vcl/IBXConst.pas:107 \r
+msgid "Not in edit mode"
+msgstr "No está en modo de edición"
+
+#. Programmer's name for it: SCannotInsert\r
+#: Vcl/IBXConst.pas:108 \r
+msgid "Cannot insert into dataset. (No insert query)"
+msgstr ""
+
+#. Programmer's name for it: SCannotPost\r
+#: Vcl/IBXConst.pas:109 \r
+msgid "Cannot post. (No update/insert query)"
+msgstr ""
+
+#. Programmer's name for it: SCannotUpdate\r
+#: Vcl/IBXConst.pas:110 \r
+msgid "Cannot update. (No update query)"
+msgstr ""
+
+#. Programmer's name for it: SCannotDelete\r
+#: Vcl/IBXConst.pas:111 \r
+msgid "Cannot delete from dataset. (No delete query)"
+msgstr ""
+
+#. Programmer's name for it: SCannotRefresh\r
+#: Vcl/IBXConst.pas:112 \r
+msgid "Cannot refresh row. (No refresh query)"
+msgstr ""
+
+#. Programmer's name for it: SBufferNotSet\r
+#: Vcl/IBXConst.pas:113 \r
+msgid "Buffer not set"
+msgstr ""
+
+#. Programmer's name for it: SCircularReference\r
+#: Vcl/IBXConst.pas:114 \r
+msgid "Circular references not permitted"
+msgstr ""
+
+#. Programmer's name for it: SSQLParseError\r
+#: Vcl/IBXConst.pas:115 \r
+msgid ""
+"SQL Parse Error:\n"
+"\n"
+"%s"
+msgstr ""
+
+#. Programmer's name for it: SUserAbort\r
+#: Vcl/IBXConst.pas:116 \r
+msgid "User abort"
+msgstr ""
+
+#. Programmer's name for it: SDataSetUniDirectional\r
+#: Vcl/IBXConst.pas:117 \r
+msgid "Data set is uni-directional"
+msgstr ""
+
+#. Programmer's name for it: SCannotCreateSharedResource\r
+#: Vcl/IBXConst.pas:118 \r
+msgid "Cannot create shared resource. (Windows error %d)"
+msgstr ""
+
+#. Programmer's name for it: SWindowsAPIError\r
+#: Vcl/IBXConst.pas:119 \r
+msgid "Windows API error. (Windows error %d [$%.8x])"
+msgstr ""
+
+#. Programmer's name for it: SColumnListsDontMatch\r
+#: Vcl/IBXConst.pas:120 \r
+msgid "Column lists do not match"
+msgstr ""
+
+#. Programmer's name for it: SColumnTypesDontMatch\r
+#: Vcl/IBXConst.pas:121 \r
+msgid "Column types don't match. (From index: %d; To index: %d)"
+msgstr ""
+
+#. Programmer's name for it: SCantEndSharedTransaction\r
+#: Vcl/IBXConst.pas:123 \r
+msgid ""
+"Can't end a shared transaction unless it is forced and equal to the "
+"transaction's TimeoutAction"
+msgstr ""
+
+#. Programmer's name for it: SFieldUnsupportedType\r
+#: Vcl/IBXConst.pas:124 \r
+msgid "Unsupported Field Type"
+msgstr "Tipo de campo no soportado"
+
+#. Programmer's name for it: SCircularDataLink\r
+#: Vcl/IBXConst.pas:125 \r
+msgid "Circular DataLink Reference"
+msgstr ""
+
+#. Programmer's name for it: SEmptySQLStatement\r
+#: Vcl/IBXConst.pas:126 \r
+msgid "Empty SQL Statement"
+msgstr ""
+
+#. Programmer's name for it: SIsASelectStatement\r
+#: Vcl/IBXConst.pas:127 \r
+msgid "use Open for a Select Statement"
+msgstr ""
+
+#. Programmer's name for it: SRequiredParamNotSet\r
+#: Vcl/IBXConst.pas:128 \r
+msgid "Required Param value not set"
+msgstr ""
+
+#. Programmer's name for it: SNoStoredProcName\r
+#: Vcl/IBXConst.pas:129 \r
+msgid "No Stored Procedure Name assigned"
+msgstr ""
+
+#. Programmer's name for it: SIsAExecuteProcedure\r
+#: Vcl/IBXConst.pas:130 \r
+msgid "use ExecProc for Procedure; use TQuery for Select procedures"
+msgstr ""
+
+#. Programmer's name for it: SUpdateFailed\r
+#: Vcl/IBXConst.pas:131 \r
+msgid "Update Failed"
+msgstr "Fallo en la actualización"
+
+#. Programmer's name for it: SNotCachedUpdates\r
+#: Vcl/IBXConst.pas:132 \r
+msgid "CachedUpdates not enabled"
+msgstr ""
+
+#. Programmer's name for it: SNotLiveRequest\r
+#: Vcl/IBXConst.pas:133 \r
+msgid "Request is not live - cannot modify"
+msgstr ""
+
+#. Programmer's name for it: SNoProvider\r
+#: Vcl/IBXConst.pas:134 \r
+msgid "No Provider"
+msgstr "Proveedor no disponible"
+
+#. Programmer's name for it: SNoRecordsAffected\r
+#: Vcl/IBXConst.pas:135 \r
+msgid "No Records Affected"
+msgstr "No se han alterado los registros"
+
+#. Programmer's name for it: SNoTableName\r
+#: Vcl/IBXConst.pas:136 \r
+msgid "No Table Name assigned"
+msgstr "La propiedad TableName no tiene valor"
+
+#. Programmer's name for it: SCannotCreatePrimaryIndex\r
+#: Vcl/IBXConst.pas:137 \r
+msgid "Cannot Create Primary Index; are created automatically"
+msgstr ""
+
+#. Programmer's name for it: SCannotDropSystemIndex\r
+#: Vcl/IBXConst.pas:138 \r
+msgid "Cannot Drop System Index"
+msgstr ""
+
+#. Programmer's name for it: STableNameMismatch\r
+#: Vcl/IBXConst.pas:139 \r
+msgid "Table Name Mismatch"
+msgstr ""
+
+#. Programmer's name for it: SIndexFieldMissing\r
+#: Vcl/IBXConst.pas:140 \r
+msgid "Index Field Missing"
+msgstr "Inaccesible el campo '%s' del índice"
+
+#. Programmer's name for it: SInvalidCancellation\r
+#: Vcl/IBXConst.pas:141 \r
+msgid "Cannot Cancel events while processing"
+msgstr "No se puede cancelar los eventos mientras se procesa"
+
+#. Programmer's name for it: SInvalidEvent\r
+#: Vcl/IBXConst.pas:142 \r
+msgid "Invalid Event"
+msgstr "Evento no válido."
+
+#. Programmer's name for it: SMaximumEvents\r
+#: Vcl/IBXConst.pas:143 \r
+msgid "Exceded Maximum Event limits"
+msgstr ""
+
+#. Programmer's name for it: SNoEventsRegistered\r
+#: Vcl/IBXConst.pas:144 \r
+msgid "No Events Registered"
+msgstr ""
+
+#. Programmer's name for it: SInvalidQueueing\r
+#: Vcl/IBXConst.pas:145 \r
+msgid "Invalid Queueing"
+msgstr "Queueing no válido"
+
+#. Programmer's name for it: SInvalidRegistration\r
+#: Vcl/IBXConst.pas:146 \r
+msgid "Invalid Registration"
+msgstr "Acción de registrar no válido"
+
+#. Programmer's name for it: SInvalidBatchMove\r
+#: Vcl/IBXConst.pas:147 \r
+msgid "Invalid Batch Move"
+msgstr "Batch Move no válido"
+
+#. Programmer's name for it: SSQLDialectInvalid\r
+#: Vcl/IBXConst.pas:148 \r
+msgid "SQL Dialect Invalid"
+msgstr ""
+
+#. Programmer's name for it: SSPBConstantNotSupported\r
+#: Vcl/IBXConst.pas:149 \r
+msgid "SPB Constant Not supported"
+msgstr "Constante SPB no permitida"
+
+#. Programmer's name for it: SSPBConstantUnknown\r
+#: Vcl/IBXConst.pas:150 \r
+msgid "SPB Constant Unknown"
+msgstr ""
+
+#. Programmer's name for it: SServiceActive\r
+#: Vcl/IBXConst.pas:151 \r
+msgid "Cannot perform operation -- service is not attached"
+msgstr "No se puede ejecutar esta operación -- el servicio no está conectado"
+
+#. Programmer's name for it: SServiceInActive\r
+#: Vcl/IBXConst.pas:152 \r
+msgid "Cannot perform operation -- service is attached"
+msgstr "No se puede ejecutar esta operación -- el servicio está conectado"
+
+#. Programmer's name for it: SServerNameMissing\r
+#: Vcl/IBXConst.pas:153 \r
+msgid "Server Name Missing"
+msgstr "Se ha perdido el nombre del servidor"
+
+#. Programmer's name for it: SQueryParamsError\r
+#: Vcl/IBXConst.pas:154 \r
+msgid "Query Parameters missing or incorrect"
+msgstr ""
+
+#. Programmer's name for it: SStartParamsError\r
+#: Vcl/IBXConst.pas:155 \r
+msgid "start Parameters missing or incorrect"
+msgstr ""
+
+#. Programmer's name for it: SOutputParsingError\r
+#: Vcl/IBXConst.pas:156 \r
+msgid "Unexpected Output buffer value"
+msgstr ""
+
+#. Programmer's name for it: SUseSpecificProcedures\r
+#: Vcl/IBXConst.pas:157 \r
+msgid ""
+"Generic ServiceStart not applicable: Use Specific Procedures to set "
+"configuration params"
+msgstr ""
+
+#. Programmer's name for it: SSQLMonitorAlreadyPresent\r
+#: Vcl/IBXConst.pas:158 \r
+msgid "SQL Monitor Instance is already present"
+msgstr ""
+
+#. Programmer's name for it: SCantPrintValue\r
+#: Vcl/IBXConst.pas:159 \r
+msgid "Cannot print value"
+msgstr ""
+
+#. Programmer's name for it: SEOFReached\r
+#: Vcl/IBXConst.pas:160 \r
+msgid "SEOFReached"
+msgstr ""
+
+#. Programmer's name for it: SEOFInComment\r
+#: Vcl/IBXConst.pas:161 \r
+msgid "EOF in comment detected"
+msgstr ""
+
+#. Programmer's name for it: SEOFInString\r
+#: Vcl/IBXConst.pas:162 \r
+msgid "EOF in string detected"
+msgstr ""
+
+#. Programmer's name for it: SParamNameExpected\r
+#: Vcl/IBXConst.pas:163 \r
+msgid "Parameter name expected"
+msgstr ""
+
+#. Programmer's name for it: SSuccess\r
+#: Vcl/IBXConst.pas:164 \r
+msgid "Successful execution"
+msgstr ""
+
+#. Programmer's name for it: SDelphiException\r
+#: Vcl/IBXConst.pas:165 \r
+msgid "DelphiException %s"
+msgstr ""
+
+#. Programmer's name for it: SNoOptionsSet\r
+#: Vcl/IBXConst.pas:166 \r
+msgid "No Install Options selected"
+msgstr ""
+
+#. Programmer's name for it: SNoDestinationDirectory\r
+#: Vcl/IBXConst.pas:167 \r
+msgid "DestinationDirectory is not set"
+msgstr "El DestinationDirectory no está asignado"
+
+#. Programmer's name for it: SNosourceDirectory\r
+#: Vcl/IBXConst.pas:168 \r
+msgid "SourceDirectory is not set"
+msgstr "El SourceDirectory no está asignado"
+
+#. Programmer's name for it: SNoUninstallFile\r
+#: Vcl/IBXConst.pas:169 \r
+msgid "Uninstall File Name is not set"
+msgstr ""
+
+#. Programmer's name for it: SOptionNeedsClient\r
+#: Vcl/IBXConst.pas:170 \r
+msgid "%s component requires Client to function properly"
+msgstr ""
+
+#. Programmer's name for it: SOptionNeedsServer\r
+#: Vcl/IBXConst.pas:171 \r
+msgid "%s component requires Server to function properly"
+msgstr ""
+
+#. Programmer's name for it: SInvalidOption\r
+#: Vcl/IBXConst.pas:172 \r
+msgid "Invalid option specified"
+msgstr "Se especificó una opción no válida"
+
+#. Programmer's name for it: SInvalidOnErrorResult\r
+#: Vcl/IBXConst.pas:173 \r
+msgid "Unexpected onError return value"
+msgstr ""
+
+#. Programmer's name for it: SInvalidOnStatusResult\r
+#: Vcl/IBXConst.pas:174 \r
+msgid "Unexpected onStatus return value"
+msgstr ""
+
+#. Programmer's name for it: SInterbaseExpressVersion\r
+#: Vcl/IBXConst.pas:176 \r
+msgid "InterbaseExpress 4.3"
+msgstr ""
+
+#. Programmer's name for it: SEditSQL\r
+#: Vcl/IBXConst.pas:177 \r
+msgid "Edit SQL"
+msgstr ""
+
+#. Programmer's name for it: SDPBConstantUnknownEx\r
+#: Vcl/IBXConst.pas:178 \r
+msgid "DPB Constant (%s) is unknown"
+msgstr ""
+
+#. Programmer's name for it: STPBConstantUnknownEx\r
+#: Vcl/IBXConst.pas:179 \r
+msgid "TPB Constant (%s) is unknown"
+msgstr ""
+
+#. Programmer's name for it: SInterbaseExpressVersionEx\r
+#: Vcl/IBXConst.pas:180 \r
+msgid "InterbaseExpress %g"
+msgstr ""
+
+#. Programmer's name for it: SUnknownPlan\r
+#: Vcl/IBXConst.pas:181 \r
+msgid "Unknown Error - Can't retrieve plan"
+msgstr ""
+
+#. Programmer's name for it: SFieldSizeMismatch\r
+#: Vcl/IBXConst.pas:182 \r
+msgid "Size Mismatch - Field %s size is too small for data"
+msgstr ""
+
+#. Programmer's name for it: SEventAlreadyRegistered\r
+#: Vcl/IBXConst.pas:183 \r
+msgid "Events already registered"
+msgstr "Los eventos ya estaban registrados"
+
+#. Programmer's name for it: SStringTooLarge\r
+#: Vcl/IBXConst.pas:184 \r
+msgid ""
+"Trying to store a string of length %d into a field that can only contain %d"
+msgstr ""
+
+#. Programmer's name for it: SIBServiceEditor\r
+#: Vcl/IBXConst.pas:185 \r
+msgid "&Service Editor ..."
+msgstr "Editor del servicio..."
+
+#. Programmer's name for it: SIBSuccessConnect\r
+#: Vcl/IBXConst.pas:186 \r
+msgid "Successful Connection"
+msgstr "Conexión establecida"
+
+#. Programmer's name for it: SProviderNotExported\r
+#: Vcl/MidConst.pas:35 \r
+msgid "Provider not exported: %s"
+msgstr ""
+
+#. Programmer's name for it: SNoDataProvider\r
+#: Vcl/MidConst.pas:38 \r
+msgid "Missing data provider or data packet"
+msgstr ""
+
+#. Programmer's name for it: SInvalidDataPacket\r
+#: Vcl/MidConst.pas:39 \r
+msgid "Invalid data packet"
+msgstr "Paquete de datos no válido"
+
+#. Programmer's name for it: SRefreshError\r
+#: Vcl/MidConst.pas:40 \r
+msgid "Must apply updates before refreshing data"
+msgstr ""
+
+#. Programmer's name for it: SProviderInvalid\r
+#: Vcl/MidConst.pas:41 \r
+msgid "Invalid provider. Provider was freed by the application server"
+msgstr ""
+
+#. Programmer's name for it: SServerNameBlank\r
+#: Vcl/MidConst.pas:42 \r
+msgid "Cannot connect, %s must contain a valid ServerName or ServerGUID"
+msgstr ""
+
+#. Programmer's name for it: SRepositoryIdBlank\r
+#: Vcl/MidConst.pas:43 \r
+msgid "Cannot connect, %s must contain a valid repository id"
+msgstr ""
+
+#. Programmer's name for it: SAggsGroupingLevel\r
+#: Vcl/MidConst.pas:44 \r
+msgid "Grouping level exceeds current index field count"
+msgstr ""
+
+#. Programmer's name for it: SAggsNoSuchLevel\r
+#: Vcl/MidConst.pas:45 \r
+msgid "Grouping level not defined"
+msgstr ""
+
+#. Programmer's name for it: SNoCircularReference\r
+#: Vcl/MidConst.pas:46 \r
+msgid "Circular provider references not allowed"
+msgstr ""
+
+#. Programmer's name for it: SErrorLoadingMidas\r
+#: Vcl/MidConst.pas:47 \r
+msgid "Error loading MIDAS.DLL"
+msgstr ""
+
+#. Programmer's name for it: SCannotCreateDataSet\r
+#: Vcl/MidConst.pas:48 \r
+msgid "No fields defined. Cannot create dataset"
+msgstr ""
+
+#. Programmer's name for it: SFieldNameTooLarge\r
+#: Vcl/MidConst.pas:49 \r
+msgid "Fieldname %s exceeds %d chars"
+msgstr ""
+
+#. Programmer's name for it: SInvalidClone\r
+#: Vcl/MidConst.pas:50 \r
+msgid "CloneConnection invalid: distinct ClientDataSet descendents"
+msgstr ""
+
+#. Programmer's name for it: SSocketReadError\r
+#: Vcl/MidConst.pas:53 \r
+msgid "Error reading from socket"
+msgstr "Se ha producido un error leyendo desde el enchufe (socket)"
+
+#. Programmer's name for it: SInvalidProviderName\r
+#: Vcl/MidConst.pas:54 \r
+msgid "Provider name \"%s\" was not recognized by the server"
+msgstr ""
+
+#. Programmer's name for it: SBadVariantType\r
+#: Vcl/MidConst.pas:55 \r
+msgid "Unsupported variant type: %s"
+msgstr "Tipo de variante no soportado: %s"
+
+#. Programmer's name for it: SInvalidAction\r
+#: Vcl/MidConst.pas:56 \r
+msgid "Invalid action received: %d"
+msgstr "Se ha recibido una acción no válida: %d"
+
+#. Programmer's name for it: SNoParentConnection\r
+#: Vcl/MidConst.pas:57 \r
+msgid "ParentConnection is not assigned"
+msgstr "ParentConnection no está asignada"
+
+#. Programmer's name for it: SBlankChildName\r
+#: Vcl/MidConst.pas:58 \r
+msgid "ChildName cannot be blank"
+msgstr ""
+
+#. Programmer's name for it: SInvalidResponse\r
+#: Vcl/MidConst.pas:61 \r
+msgid "Invalid response"
+msgstr "Respuesta no válida"
+
+#. Programmer's name for it: STooManyRecordsModified\r
+#: Vcl/MidConst.pas:63 \r
+msgid "Update affected more than 1 record."
+msgstr ""
+
+#. Programmer's name for it: SInvalidOptParamType\r
+#: Vcl/MidConst.pas:66 \r
+msgid "Value cannot be stored in an optional parameter"
+msgstr ""
+
+#. Programmer's name for it: SConstraintFailed\r
+#: Vcl/MidConst.pas:68 \r
+msgid "Record or field constraint failed."
+msgstr ""
+
+#. Programmer's name for it: SField\r
+#: Vcl/MidConst.pas:69 \r
+msgid "Field"
+msgstr ""
+
+#. Programmer's name for it: SReadOnlyProvider\r
+#: Vcl/MidConst.pas:70 \r
+msgid "Cannot apply updates to a ReadOnly provider"
+msgstr ""
+
+#. Programmer's name for it: SNoKeySpecified\r
+#: Vcl/MidConst.pas:71 \r
+msgid "Unable to find record. No key specified"
+msgstr ""
+
+#. Programmer's name for it: SFieldNameTooLong\r
+#: Vcl/MidConst.pas:73 \r
+msgid ""
+"Field name cannot be longer then %d characters. Try setting ObjectView to "
+"True on the dataset"
+msgstr ""
+
+#. Programmer's name for it: SNoDataSets\r
+#: Vcl/MidConst.pas:74 \r
+msgid "Cannot resolve to dataset when using nested datasets or references"
+msgstr ""
+
+#. Programmer's name for it: SRecConstFail\r
+#: Vcl/MidConst.pas:75 \r
+msgid "Preparation of record constraint failed with error \"%s\""
+msgstr ""
+
+#. Programmer's name for it: SFieldConstFail\r
+#: Vcl/MidConst.pas:76 \r
+msgid "Preparation of field constraint failed with error \"%s\""
+msgstr ""
+
+#. Programmer's name for it: SDefExprFail\r
+#: Vcl/MidConst.pas:77 \r
+msgid "Preparation of default expression failed with error \"%s\""
+msgstr ""
+
+#. Programmer's name for it: SArrayElementError\r
+#: Vcl/MidConst.pas:78 \r
+msgid "Array elements of type %s are not supported"
+msgstr "El tipo %s de elementos de matriz no son permitidos"
+
+#. Programmer's name for it: SNoTableName\r
+#: Vcl/MidConst.pas:79 \r
+msgid "Unable to resolve records. Table name not found."
+msgstr ""
+
+#. Programmer's name for it: SNoEditsAllowed\r
+#: Vcl/MidConst.pas:80 \r
+msgid "Modifications are not allowed"
+msgstr "No se permiten las modificaciones"
+
+#. Programmer's name for it: SNoDeletesAllowed\r
+#: Vcl/MidConst.pas:81 \r
+msgid "Deletes are not allowed"
+msgstr "No se permite eliminar"
+
+#. Programmer's name for it: SNoInsertsAllowed\r
+#: Vcl/MidConst.pas:82 \r
+msgid "Inserts are not allowed"
+msgstr "No se permite insertar"
+
+#. Programmer's name for it: SCannotChangeCommandText\r
+#: Vcl/MidConst.pas:83 \r
+msgid "CommandText changes are not allowed"
+msgstr ""
+
+#. Programmer's name for it: SAggregatesActive\r
+#: Vcl/MidConst.pas:84 \r
+msgid "Operation not allowed with aggregates active"
+msgstr ""
+
+#. Programmer's name for it: SNoServers\r
+#: Vcl/MidConst.pas:87 \r
+msgid "No server available"
+msgstr "Servidor no disponible"
+
+#. Programmer's name for it: SConnectionMissing\r
+#: Vcl/MidConst.pas:91 \r
+msgid "Requires Connection before opening"
+msgstr ""
+
+#. Programmer's name for it: SNoCircularConnection\r
+#: Vcl/MidConst.pas:92 \r
+msgid "Circular reference to Connection not allowed"
+msgstr ""
+
+#. Programmer's name for it: SReturnError\r
+#: Vcl/MidConst.pas:95 \r
+msgid "Expected return value not received"
+msgstr ""
+
+#. Programmer's name for it: SNoWinSock2\r
+#: Vcl/MidConst.pas:96 \r Vcl/ScktCnst.pas:36
+msgid "WinSock 2 must be installed to use the socket connection"
+msgstr ""
+
+#. Programmer's name for it: SURLRequired\r
+#: Vcl/MidConst.pas:99 \r
+msgid "URL required"
+msgstr "Se requiere URL "
+
+#. Programmer's name for it: SDefaultURL\r
+#: Vcl/MidConst.pas:100 \r
+msgid "http://server.company.com/scripts/httpsrvr.dll"
+msgstr ""
+
+#. Programmer's name for it: SInvalidURL\r
+#: Vcl/MidConst.pas:101 \r
+msgid ""
+"URL must be in the form \"http://server.company.com/scripts/httpsrvr.dll\""
+msgstr ""
+
+#. Programmer's name for it: SServerIsBusy\r
+#: Vcl/MidConst.pas:102 \r
+msgid "Server is busy"
+msgstr ""
+
+#. Programmer's name for it: SObjectNotAvailable\r
+#: Vcl/MidConst.pas:104 \r
+msgid "Object not available: %s"
+msgstr "Objecto no disponible: %s"
+
+#. Programmer's name for it: SMasterNotOpen\r
+#: Vcl/MidConst.pas:107 \r
+msgid "Cannot open detail table with master closed"
+msgstr "No se puede abrir una tabla de detalle estando la maestra cerrada"
+
+#. Programmer's name for it: SBadPropValue\r
+#: Vcl/OleConst.pas:15 \r
+msgid "'%s' is not a valid property value"
+msgstr "'%s' no es un valor de la propiedad válido"
+
+#. Programmer's name for it: SCannotActivate\r
+#: Vcl/OleConst.pas:16 \r
+msgid "OLE control activation failed"
+msgstr "Falló la activación del control OLE"
+
+#. Programmer's name for it: SNoWindowHandle\r
+#: Vcl/OleConst.pas:17 \r
+msgid "Could not obtain OLE control window handle"
+msgstr "No pudo obtenerse el manejador (handle) de ventana del control OLE"
+
+#. Programmer's name for it: SOleError\r
+#: Vcl/OleConst.pas:18 \r Rtl/Common/ComConst.pas:15
+msgid "OLE error %.8x"
+msgstr "Hay un error OLE %.8x"
+
+#. Programmer's name for it: SVarNotObject\r
+#: Vcl/OleConst.pas:19 \r
+msgid "Variant does not reference an OLE object"
+msgstr "La variable no hace referencia a un objeto OLE"
+
+#. Programmer's name for it: SVarNotAutoObject\r
+#. Programmer's name for it: SVarNotObject\r
+#: Vcl/OleConst.pas:20 \r Rtl/Common/ComConst.pas:21
+msgid "Variant does not reference an automation object"
+msgstr "La variante no hace referencia a un objeto de automatización"
+
+#. Programmer's name for it: SNoMethod\r
+#: Vcl/OleConst.pas:21 \r
+msgid "Method '%s' not supported by OLE object"
+msgstr "El método '%s' no es soportado por un objeto OLE"
+
+#. Programmer's name for it: SLinkProperties\r
+#: Vcl/OleConst.pas:22 \r
+msgid "Link Properties"
+msgstr "Propiedades del enlace"
+
+#. Programmer's name for it: SInvalidLinkSource\r
+#: Vcl/OleConst.pas:23 \r
+msgid "Cannot link to an invalid source."
+msgstr "No puede enlazarse a una fuente no válida"
+
+#. Programmer's name for it: SCannotBreakLink\r
+#: Vcl/OleConst.pas:24 \r
+msgid "Break link operation is not supported."
+msgstr "La operación de rotura de enlace no es soportada"
+
+#. Programmer's name for it: SLinkedObject\r
+#: Vcl/OleConst.pas:25 \r
+msgid "Linked %s"
+msgstr "Enlazado %s"
+
+#. Programmer's name for it: SEmptyContainer\r
+#: Vcl/OleConst.pas:26 \r
+msgid "Operation not allowed on an empty OLE container"
+msgstr "Operación no permitida en un contenedor OLE vacío"
+
+#. Programmer's name for it: SInvalidVerb\r
+#: Vcl/OleConst.pas:27 \r
+msgid "Invalid object verb"
+msgstr "Verbo de objeto no válido"
+
+#. Programmer's name for it: SPropDlgCaption\r
+#: Vcl/OleConst.pas:28 \r
+msgid "%s Properties"
+msgstr "Propiedades %s"
+
+#. Programmer's name for it: SInvalidLicense\r
+#: Vcl/OleConst.pas:30 \r
+msgid "License information for %s is invalid"
+msgstr "La información de licencia para %s no es válida"
+
+#. Programmer's name for it: SNotLicensed\r
+#: Vcl/OleConst.pas:31 \r
+msgid ""
+"License information for %s not found. You cannot use this control in design "
+"mode"
+msgstr ""
+"Información de licencia para %s no encontrada. No se puede usar este control "
+"en modo de diseño"
+
+#. Programmer's name for it: sNoRunningObject\r
+#: Vcl/OleConst.pas:32 \r
+msgid ""
+"Unable to retrieve a pointer to a running object registered with OLE for %s/%"
+"s"
+msgstr ""
+"No se puede recuperar un puntero a un objeto que se está ejecutando, "
+"registrado con OLE por %s/%s"
+
+#. Programmer's name for it: SServiceOnly\r
+#: Vcl/ScktCnst.pas:29 \r
+msgid "The Socket Server can only be run as a service on NT 3.51 and prior"
+msgstr ""
+
+#. Programmer's name for it: SErrClose\r
+#: Vcl/ScktCnst.pas:30 \r
+msgid "Cannot exit when there are active connections. Kill connections?"
+msgstr ""
+
+#. Programmer's name for it: SErrChangeSettings\r
+#: Vcl/ScktCnst.pas:31 \r
+msgid ""
+"Cannot change settings when there are active connections. Kill connections?"
+msgstr ""
+"No se pueden cambiar la configuración cuando estan activas las conexiones. "
+"¿Desconectarlas?"
+
+#. Programmer's name for it: SQueryDisconnect\r
+#: Vcl/ScktCnst.pas:32 \r
+msgid "Disconnecting clients can cause application errors. Continue?"
+msgstr ""
+
+#. Programmer's name for it: SOpenError\r
+#: Vcl/ScktCnst.pas:33 \r
+msgid "Error opening port %d with error: %s"
+msgstr ""
+
+#. Programmer's name for it: SNotShown\r
+#: Vcl/ScktCnst.pas:35 \r
+msgid "(Not Shown)"
+msgstr ""
+
+#. Programmer's name for it: SStatusline\r
+#: Vcl/ScktCnst.pas:37 \r
+msgid "%d current connections"
+msgstr "Hay actualmente %d conexiones"
+
+#. Programmer's name for it: SAlreadyRunning\r
+#: Vcl/ScktCnst.pas:38 \r
+msgid "The Socket Server is already running"
+msgstr "El Servidor del enchufe (socket) ya estaba funcionando"
+
+#. Programmer's name for it: SNotUntilRestart\r
+#: Vcl/ScktCnst.pas:39 \r
+msgid "This change will not take affect until the Socket Server is restarted"
+msgstr ""
+
+#. Programmer's name for it: SMonitorActive\r
+#: Vcl/SqlConst.pas:57 \r
+msgid "Cannot change connection on Active Monitor"
+msgstr "No se puede cambiar la conexión al Monitor Activo"
+
+#. Programmer's name for it: SMissingConnection\r
+#: Vcl/SqlConst.pas:58 \r
+msgid "Missing SQLConnection property"
+msgstr "Propiedad SQLConnection sin valor"
+
+#. Programmer's name for it: SDatabaseOpen\r
+#: Vcl/SqlConst.pas:59 \r
+msgid "Cannot perform this operation on an open connection"
+msgstr "No se puede ejecutar esta operación en una conexión abierta"
+
+#. Programmer's name for it: SDatabaseClosed\r
+#: Vcl/SqlConst.pas:60 \r
+msgid "Cannot perform this operation on a closed connection"
+msgstr "No se puede ejecutar esta operación en una conexión cerrada"
+
+#. Programmer's name for it: SMissingSQLConnection\r
+#: Vcl/SqlConst.pas:61 \r
+msgid "SQLConnection property required for this operation"
+msgstr "Se requiere la propiedad SQLConnection para esta operación"
+
+#. Programmer's name for it: SConnectionNameMissing\r
+#: Vcl/SqlConst.pas:62 \r
+msgid "Connection name missing"
+msgstr "Nombre de la conexión ausente"
+
+#. Programmer's name for it: SNoSqlStatement\r
+#: Vcl/SqlConst.pas:70 \r
+msgid "Missing query, table name or procedure name"
+msgstr "Consulta, nombre de la tabla o nombre del procedimiento sin valor"
+
+#. Programmer's name for it: SMissingDataBaseName\r
+#: Vcl/SqlConst.pas:73 \r
+msgid "Missing Database property"
+msgstr "Propiedad Database sin valor"
+
+#. Programmer's name for it: SMissingDriverName\r
+#: Vcl/SqlConst.pas:75 \r
+msgid "Missing DriverName property"
+msgstr "Propiedad DriverName sin valor"
+
+#. Programmer's name for it: SPrepareError\r
+#: Vcl/SqlConst.pas:76 \r
+msgid "Unable to execute Query"
+msgstr "No se puede ejecutar la consulta"
+
+#. Programmer's name for it: SObjectNameError\r
+#: Vcl/SqlConst.pas:77 \r
+msgid "Table/Procedure not found"
+msgstr "No se encontró tabla/procedimiento"
+
+#. Programmer's name for it: SNoActiveTrans\r
+#: Vcl/SqlConst.pas:79 \r
+msgid "There is no active transaction"
+msgstr "No hay ninguna transacción activa"
+
+#. Programmer's name for it: SActiveTrans\r
+#: Vcl/SqlConst.pas:80 \r
+msgid "A transaction is already active"
+msgstr "Una transacción ya estaba activa"
+
+#. Programmer's name for it: SDllLoadError\r
+#: Vcl/SqlConst.pas:81 \r
+msgid "Unable to Load %s"
+msgstr "No se puede cargar %s"
+
+#. Programmer's name for it: SDllProcLoadError\r
+#: Vcl/SqlConst.pas:82 \r
+msgid "Unable to Find Procedure %s"
+msgstr "No se puede encontrar el procedimiento %s"
+
+#. Programmer's name for it: SConnectionEditor\r
+#: Vcl/SqlConst.pas:83 \r
+msgid "&Edit Connection Properties"
+msgstr "Edición de las propiedades de conexión"
+
+#. Programmer's name for it: SCommandTextEditor\r
+#: Vcl/SqlConst.pas:84 \r
+msgid "&Edit CommandText"
+msgstr "&Editar CommandText"
+
+#. Programmer's name for it: SMissingDLLName\r
+#: Vcl/SqlConst.pas:85 \r
+msgid "DLL/Shared Library Name not Set"
+msgstr "DLL/Nombre de Librería Compartida no especificada"
+
+#. Programmer's name for it: SMissingDriverRegFile\r
+#: Vcl/SqlConst.pas:86 \r
+msgid "Driver/Connection Registry File '%s' not found"
+msgstr ""
+
+#. Programmer's name for it: STableNameNotFound\r
+#: Vcl/SqlConst.pas:87 \r
+msgid "Cannot find TableName in CommandText"
+msgstr "No es posible encontrar TableName en CommandText"
+
+#. Programmer's name for it: SNoCursor\r
+#: Vcl/SqlConst.pas:88 \r
+msgid "Cursor not returned from Query"
+msgstr "Cursor no devuelto por la consulta"
+
+#. Programmer's name for it: SMetaDataOpenError\r
+#: Vcl/SqlConst.pas:89 \r
+msgid "Unable to Open Metadata"
+msgstr "No se puede abrir Metadata"
+
+#. Programmer's name for it: SErrorMappingError\r
+#: Vcl/SqlConst.pas:90 \r
+msgid "SQL Error: Error mapping failed"
+msgstr "Error de SQL: Fallo al mapear"
+
+#. Programmer's name for it: SStoredProcsNotSupported\r
+#: Vcl/SqlConst.pas:91 \r
+msgid "Stored Procedures not supported by '%s' Server"
+msgstr ""
+
+#. Programmer's name for it: SDBXUNKNOWNERROR\r
+#: Vcl/SqlConst.pas:92 \r
+msgid "DBX Error: No Mapping for Error Code Found"
+msgstr "Error DBX: Mapeo para el Código de Error no encontrado"
+
+#. Programmer's name for it: SDBXNOCONNECTION\r
+#. Programmer's name for it: SDBXNOCOMMAND\r
+#. Programmer's name for it: SDBXNOCURSOR\r
+#: Vcl/SqlConst.pas:93 \r Vcl/SqlConst.pas:95 Vcl/SqlConst.pas:96
+msgid "DBX Error: Connection not found, error message cannot be retrieved"
+msgstr ""
+"Error DBX: Conexión no encontrada, no es posible recuperar el mensaje de "
+"error"
+
+#. Programmer's name for it: SDBXNOMETAOBJECT\r
+#: Vcl/SqlConst.pas:94 \r
+msgid "DBX Error: MetadataObject not found, error message cannot be retrieved"
+msgstr ""
+"Error DBX: MetadataObject no encontrado, no es posible recuperar el mensaje "
+"de error"
+
+#. Programmer's name for it: SNOMEMORY\r
+#: Vcl/SqlConst.pas:97 \r
+msgid "DBX Error: Insufficient Memory for Operation"
+msgstr "Error dbExpress: Memoria insuficiente para la operación"
+
+#. Programmer's name for it: SINVALIDFLDTYPE\r
+#: Vcl/SqlConst.pas:98 \r
+msgid "DBX Error: Invalid Field Type"
+msgstr "Error dbExpress: Tipo de Campo no válido"
+
+#. Programmer's name for it: SINVALIDHNDL\r
+#: Vcl/SqlConst.pas:99 \r
+msgid "DBX Error: Invalid Handle"
+msgstr "Error dbExpress: Handle no válido"
+
+#. Programmer's name for it: SINVALIDTIME\r
+#: Vcl/SqlConst.pas:100 \r
+msgid "DBX Error: Invalid Time"
+msgstr "Error dbExpress: Hora no válida"
+
+#. Programmer's name for it: SNOTSUPPORTED\r
+#: Vcl/SqlConst.pas:101 \r
+msgid "DBX Error: Operation Not Supported"
+msgstr "Error DBX: Operación no soportada"
+
+#. Programmer's name for it: SINVALIDXLATION\r
+#: Vcl/SqlConst.pas:102 \r
+msgid "DBX Error: Invalid Translation"
+msgstr "Error dbExpress: Datos de traducción no válidos"
+
+#. Programmer's name for it: SINVALIDPARAM\r
+#: Vcl/SqlConst.pas:103 \r
+msgid "DBX Error: Invalid Parameter"
+msgstr "Error dbExpress: Parámetro no válido"
+
+#. Programmer's name for it: SOUTOFRANGE\r
+#: Vcl/SqlConst.pas:104 \r
+msgid "DBX Error: Argument out of Range"
+msgstr "Error dbExpress: Argumento fuera de rango"
+
+#. Programmer's name for it: SSQLPARAMNOTSET\r
+#: Vcl/SqlConst.pas:105 \r
+msgid "DBX Error: Parameter Not Set"
+msgstr "Error dbExpress: Parámetro sin asignar"
+
+#. Programmer's name for it: SEOF\r
+#: Vcl/SqlConst.pas:106 \r
+msgid "DBX Error: Result set at EOF"
+msgstr "Error dbExpress: Resultado asignado a EOF"
+
+#. Programmer's name for it: SINVALIDUSRPASS\r
+#: Vcl/SqlConst.pas:107 \r
+msgid "DBX Error: Invalid Username/Password"
+msgstr "Error dbExpress: Nombre de usuario/Contraseña no válida"
+
+#. Programmer's name for it: SINVALIDPRECISION\r
+#: Vcl/SqlConst.pas:108 \r
+msgid "DBX Error: Invalid Precision"
+msgstr "Error dbExpress: Precisión no válida"
+
+#. Programmer's name for it: SINVALIDLEN\r
+#: Vcl/SqlConst.pas:109 \r
+msgid "DBX Error: Invalid Length"
+msgstr "Error dbExpress: Longitud no válida"
+
+#. Programmer's name for it: SINVALIDXISOLEVEL\r
+#: Vcl/SqlConst.pas:110 \r
+msgid "DBX Error: Invalid Transaction Isolation Level"
+msgstr "Error dbExpress: Nivel de Aislamiento de Transacción no válido"
+
+#. Programmer's name for it: SINVALIDTXNID\r
+#: Vcl/SqlConst.pas:111 \r
+msgid "DBX Error: Invalid Transaction ID"
+msgstr "Error dbExpress: Identificador de Transacción no válido"
+
+#. Programmer's name for it: SDUPLICATETXNID\r
+#: Vcl/SqlConst.pas:112 \r
+msgid "DBX Error: Duplicate Transaction ID"
+msgstr "Error dbExpress: Identificador de Transacción duplicado"
+
+#. Programmer's name for it: SDRIVERRESTRICTED\r
+#: Vcl/SqlConst.pas:113 \r
+msgid "dbExpress: Application is not licensed to use this feature"
+msgstr ""
+"Error dbExpress: La Aplicación no tiene licencia para utilizar esta "
+"característica"
+
+#. Programmer's name for it: SLOCALTRANSACTIVE\r
+#: Vcl/SqlConst.pas:114 \r
+msgid "DBX Error: Local Transaction already active"
+msgstr "Error dbExpress: Ya hay activa una Transacción Local"
+
+#. Programmer's name for it: SMultiConnNotSupported\r
+#: Vcl/SqlConst.pas:115 \r
+msgid "Multiple Connections not supported by %s driver"
+msgstr "Conexiones múltiples no soportadas por el driver %s"
+
+#. Programmer's name for it: SConfFileMoveError\r
+#: Vcl/SqlConst.pas:116 \r
+msgid "Unable to move %s to %s"
+msgstr "No se puede mover %s a %s"
+
+#. Programmer's name for it: SMissingConfFile\r
+#: Vcl/SqlConst.pas:117 \r
+msgid "Configuration file %s not found"
+msgstr "Configuración de archivo %s no encontrada"
+
+#. Programmer's name for it: SObjectViewNotTrue\r
+#: Vcl/SqlConst.pas:118 \r
+msgid "ObjectView must be True for Table with Object fields"
+msgstr "ObjectView debe ser True para una Tabla con campos Object"
+
+#. Programmer's name for it: SDriverNotInConfigFile\r
+#: Vcl/SqlConst.pas:119 \r
+msgid "Driver (%s) not found in Cfg file (%s)"
+msgstr "Driver (%s) no encontrado en archivo Cfg (%s)"
+
+#. Programmer's name for it: SObjectTypenameRequired\r
+#: Vcl/SqlConst.pas:120 \r
+msgid "Object type name required as parameter value"
+msgstr "Nombre de tipo de Objeto requerido como valor de parámetro"
+
+#. used in SqlReg.pas\r
+#: Vcl/SqlConst.pas:123 \r
+msgid "Text files (*.txt)|*.txt|All files (*.*)|*.*"
+msgstr "Archivos de texto (*.txt)|*.txt|Todos los archivos (*.*)|*.*"
+
+#. Programmer's name for it: SLogFileFilter\r
+#: Vcl/SqlConst.pas:124 \r
+msgid "Log files (*.log)"
+msgstr "Archivos de diario (*.log)"
+
+#. Programmer's name for it: SDataBindings\r
+#: Vcl/VDBConsts.pas:41 \r
+msgid "Data Bindings..."
+msgstr "Enlazador de datos..."
+
+#. Programmer's name for it: SCreateRegKeyError\r
+#: Rtl/Common/ComConst.pas:14 \r
+msgid "Error creating system registry entry"
+msgstr "Se ha producido un error al crear la entrada del registro del sistema"
+
+#. Programmer's name for it: SObjectFactoryMissing\r
+#: Rtl/Common/ComConst.pas:16 \r
+msgid "Object factory for class %s missing"
+msgstr ""
+
+#. Programmer's name for it: STypeInfoMissing\r
+#: Rtl/Common/ComConst.pas:17 \r
+msgid "Type information missing for class %s"
+msgstr ""
+
+#. Programmer's name for it: SBadTypeInfo\r
+#: Rtl/Common/ComConst.pas:18 \r
+msgid "Incorrect type information for class %s"
+msgstr ""
+
+#. Programmer's name for it: SDispIntfMissing\r
+#: Rtl/Common/ComConst.pas:19 \r
+msgid "Dispatch interface missing from class %s"
+msgstr ""
+
+#. Programmer's name for it: SNoMethod\r
+#: Rtl/Common/ComConst.pas:20 \r
+msgid "Method '%s' not supported by automation object"
+msgstr ""
+
+#. Programmer's name for it: STooManyParams\r
+#: Rtl/Common/ComConst.pas:22 \r
+msgid "Dispatch methods do not support more than 64 parameters"
+msgstr ""
+
+#. Programmer's name for it: SDCOMNotInstalled\r
+#: Rtl/Common/ComConst.pas:23 \r
+msgid "DCOM not installed"
+msgstr "No está instalado DCOM "
+
+#. Programmer's name for it: SDAXError\r
+#: Rtl/Common/ComConst.pas:24 \r
+msgid "DAX Error"
+msgstr "Error DAX"
+
+#. Programmer's name for it: SAutomationWarning\r
+#: Rtl/Common/ComConst.pas:26 \r
+msgid "COM Server Warning"
+msgstr ""
+
+#. Programmer's name for it: SNoCloseActiveServer1\r
+#: Rtl/Common/ComConst.pas:29 \r
+msgid ""
+"There are still active COM objects in this application. One or more clients "
+"may have references to these objects, so manually closing "
+msgstr ""
+
+#. Programmer's name for it: SNoCloseActiveServer2\r
+#: Rtl/Common/ComConst.pas:32 \r
+msgid ""
+"this application may cause those client application(s) to fail.\n"
+"\n"
+"Are you sure you want to close this application?"
+msgstr ""
+
+#. Programmer's name for it: hNoTableOfContents\r
+#: Rtl/Common/HelpIntfs.pas:252 \r
+msgid "Unable to find a Table Of Contents"
+msgstr "No se puede encontrar la tabla de contenidos"
+
+#. Programmer's name for it: hNothingFound\r
+#: Rtl/Common/HelpIntfs.pas:253 \r
+msgid "No help found for %s"
+msgstr ""
+
+#. Programmer's name for it: hNoContext\r
+#: Rtl/Common/HelpIntfs.pas:254 \r
+msgid "No context-sensitive help installed"
+msgstr ""
+
+#. Programmer's name for it: hNoTopics\r
+#: Rtl/Common/HelpIntfs.pas:255 \r
+msgid "No topic-based help system installed"
+msgstr ""
+
+#. Programmer's name for it: SBucketListLocked\r
+#: Rtl/Common/RTLConsts.pas:17 \r
+msgid "List is locked during an active ForEach"
+msgstr "La lista está bloqueada durante un ForEach activo"
+
+#. Programmer's name for it: SCheckSynchronizeError\r
+#: Rtl/Common/RTLConsts.pas:20 \r
+msgid "CheckSynchronize called from thread $%x, which is NOT the main thread"
+msgstr ""
+"Llamada de CheckSynchronize desde el hilo (thread) $%x, que no es el hilo "
+"principal"
+
+#. Programmer's name for it: SDelimiterQuoteCharError\r
+#: Rtl/Common/RTLConsts.pas:22 \r
+msgid "Delimiter and QuoteChar properties cannot have the same value"
+msgstr "Las propiedades Delimiter y QuoteChar no pueden tener el mismo valor"
+
+#. Programmer's name for it: SItemNotFound\r
+#: Rtl/Common/RTLConsts.pas:56 \r
+msgid "Item not found ($0%x)"
+msgstr "No se ha encontrado el elemento ($0%x) "
+
+#. Programmer's name for it: SNoComSupport\r
+#: Rtl/Common/RTLConsts.pas:64 \r
+msgid "%s has not been registered as a COM class"
+msgstr "%s no es una clase COM registrada"
+
+#. Programmer's name for it: SComponentNameTooLong\r
+#: Rtl/Common/RTLConsts.pas:68 \r
+msgid "Component name '%s' exceeds 64 character limit"
+msgstr "El nombre del componente '%s' excede el límite de los 64 caracteres"
+
+#. Programmer's name for it: SRegCreateFailed\r
+#: Rtl/Common/RTLConsts.pas:73 \r
+msgid "Failed to create key %s"
+msgstr "Se ha producido un error al crear la llave %s"
+
+#. Programmer's name for it: SRegGetDataFailed\r
+#: Rtl/Common/RTLConsts.pas:74 \r
+msgid "Failed to get data for '%s'"
+msgstr "Se ha producido un error al obtener el dato para '%s'"
+
+#. Programmer's name for it: SRegSetDataFailed\r
+#: Rtl/Common/RTLConsts.pas:76 \r
+msgid "Failed to set data for '%s'"
+msgstr "Se ha producido un error al asignar el dato para '%s'"
+
+#. Programmer's name for it: SSeekNotImplemented\r
+#: Rtl/Common/RTLConsts.pas:78 \r
+msgid "%s.Seek not implemented"
+msgstr "%s.Seek no implementado"
+
+#. Programmer's name for it: SSortedListError\r
+#: Rtl/Common/RTLConsts.pas:79 \r
+msgid "Operation not allowed on sorted list"
+msgstr "Operación no permitida en una lista ordenada"
+
+#. Programmer's name for it: SUnknownGroup\r
+#: Rtl/Common/RTLConsts.pas:84 \r
+msgid "%s not in a class registration group"
+msgstr "%s no en un grupo de registro de clase"
+
+#. Programmer's name for it: SUnknownProperty\r
+#: Rtl/Common/RTLConsts.pas:85 \r
+msgid "Property %s does not exist"
+msgstr "La propiedad %s no existe"
+
+#. Programmer's name for it: SStreamSetSize\r
+#: Rtl/Common/RTLConsts.pas:87 \r
+msgid "Stream.SetSize failure"
+msgstr "Se ha producido un error al asignar el tamaño del flujo (stream)"
+
+#. Programmer's name for it: SThreadCreateError\r
+#: Rtl/Common/RTLConsts.pas:88 \r
+msgid "Thread creation error: %s"
+msgstr "Hay un error de creación de hilo (thread): %s"
+
+#. Programmer's name for it: SThreadError\r
+#: Rtl/Common/RTLConsts.pas:89 \r
+msgid "Thread Error: %s (%d)"
+msgstr "Hay un error de hilo (thread): %s (%d)"
+
+#. Programmer's name for it: SInvalidDateDay\r
+#: Rtl/Common/RTLConsts.pas:91 \r
+msgid "(%d, %d) is not a valid DateDay pair"
+msgstr "(%d, %d) no es una pareja DateDay válida "
+
+#. Programmer's name for it: SInvalidDateWeek\r
+#: Rtl/Common/RTLConsts.pas:92 \r
+msgid "(%d, %d, %d) is not a valid DateWeek triplet"
+msgstr "(%d, %d, %d) no es un triplete de DateWeek válido"
+
+#. Programmer's name for it: SInvalidDateMonthWeek\r
+#: Rtl/Common/RTLConsts.pas:93 \r
+msgid "(%d, %d, %d, %d) is not a valid DateMonthWeek quad"
+msgstr "(%d, %d, %d, %d) no es un cuarteto de DateMonthWeek válido"
+
+#. Programmer's name for it: SInvalidDayOfWeekInMonth\r
+#: Rtl/Common/RTLConsts.pas:94 \r
+msgid "(%d, %d, %d, %d) is not a valid DayOfWeekInMonth quad"
+msgstr "(%d, %d, %d, %d) no es un cuarteto de DayOfWeekInMonth válido"
+
+#. Programmer's name for it: SInvalidJulianDate\r
+#: Rtl/Common/RTLConsts.pas:95 \r
+msgid "%f Julian cannot be represented as a DateTime"
+msgstr "La fecha juliana %f no puede representarse como un DateTime"
+
+#. Programmer's name for it: SMissingDateTimeField\r
+#: Rtl/Common/RTLConsts.pas:96 \r
+msgid "?"
+msgstr ""
+
+#. Programmer's name for it: SConvIncompatibleTypes2\r
+#: Rtl/Common/RTLConsts.pas:98 \r Rtl/Sys/SysConst.pas:107
+msgid "Incompatible conversion types [%s, %s]"
+msgstr "Conversión de tipos [%s, %s] incompatible"
+
+#. Programmer's name for it: SConvIncompatibleTypes3\r
+#: Rtl/Common/RTLConsts.pas:99 \r Rtl/Sys/SysConst.pas:108
+msgid "Incompatible conversion types [%s, %s, %s]"
+msgstr "Conversión de tipos [%s, %s, %s] incompatible"
+
+#. Programmer's name for it: SConvIncompatibleTypes4\r
+#: Rtl/Common/RTLConsts.pas:100 \r Rtl/Sys/SysConst.pas:109
+msgid "Incompatible conversion types [%s - %s, %s - %s]"
+msgstr "Conversión de tipos [%s - %s, %s - %s] incompatible"
+
+#. Programmer's name for it: SConvUnknownType\r
+#: Rtl/Common/RTLConsts.pas:101 \r Rtl/Sys/SysConst.pas:110
+msgid "Unknown conversion type %s"
+msgstr "Conversión del tipo %s desconocida"
+
+#. Programmer's name for it: SConvDuplicateType\r
+#: Rtl/Common/RTLConsts.pas:102 \r
+msgid "Conversion type (%s) already registered in %s"
+msgstr "La conversión del tipo (%s) ya estaba registrada en %s"
+
+#. Programmer's name for it: SConvUnknownFamily\r
+#: Rtl/Common/RTLConsts.pas:103 \r Rtl/Sys/SysConst.pas:112
+msgid "Unknown conversion family %s"
+msgstr "Familia de conversión (%s) desconocida"
+
+#. Programmer's name for it: SConvDuplicateFamily\r
+#: Rtl/Common/RTLConsts.pas:104 \r Rtl/Sys/SysConst.pas:113
+msgid "Conversion family (%s) already registered"
+msgstr "La familia de conversión (%s) ya está registrada"
+
+#. Programmer's name for it: SConvUnknownDescription\r
+#: Rtl/Common/RTLConsts.pas:105 \r Rtl/Sys/SysConst.pas:114
+msgid "[%.8x]"
+msgstr ""
+
+#. Programmer's name for it: SConvIllegalType\r
+#: Rtl/Common/RTLConsts.pas:106 \r Rtl/Sys/SysConst.pas:115
+msgid "Illegal type"
+msgstr "Tipo ilegal"
+
+#. Programmer's name for it: SConvIllegalFamily\r
+#: Rtl/Common/RTLConsts.pas:107 \r Rtl/Sys/SysConst.pas:116
+msgid "Illegal family"
+msgstr "Familia ilegal"
+
+#. Programmer's name for it: SConvFactorZero\r
+#: Rtl/Common/RTLConsts.pas:108 \r Rtl/Sys/SysConst.pas:117
+msgid "%s has a factor of zero"
+msgstr "%s tiene un factor de cero"
+
+#. Programmer's name for it: SConvStrParseError\r
+#: Rtl/Common/RTLConsts.pas:109 \r
+msgid "Could not parse %s"
+msgstr "No se pudo analizar %s"
+
+#. Programmer's name for it: SFailedToCallConstructor\r
+#: Rtl/Common/RTLConsts.pas:110 \r
+msgid "TStrings descendant %s failed to call inherited constructor"
+msgstr ""
+"El descendiente de TStrings %s falló en la llamada al constructor heredado"
+
+#. Programmer's name for it: sWindowsSocketError\r
+#: Rtl/Common/RTLConsts.pas:112 \r
+msgid "Windows socket error: %s (%d), on API '%s'"
+msgstr "Hay un error en el socket de Windows: %s (%d), en API '%s'"
+
+#. Programmer's name for it: SDistanceDescription\r
+#: Rtl/Common/StdConvs.pas:300 \r
+msgid "Distance"
+msgstr "Distancia"
+
+#. Programmer's name for it: SMicromicronsDescription\r
+#: Rtl/Common/StdConvs.pas:303 \r
+msgid "Micromicrons"
+msgstr "Micromicrones"
+
+#. Programmer's name for it: SAngstromsDescription\r
+#: Rtl/Common/StdConvs.pas:304 \r
+msgid "Angstroms"
+msgstr "Amstrongs"
+
+#. Programmer's name for it: SMillimicronsDescription\r
+#: Rtl/Common/StdConvs.pas:305 \r
+msgid "Millimicrons"
+msgstr "Milimicrones"
+
+#. Programmer's name for it: SMicronsDescription\r
+#: Rtl/Common/StdConvs.pas:306 \r
+msgid "Microns"
+msgstr "Micrones"
+
+#. Programmer's name for it: SMillimetersDescription\r
+#: Rtl/Common/StdConvs.pas:307 \r
+msgid "Millimeters"
+msgstr "Milímetros"
+
+#. Programmer's name for it: SCentimetersDescription\r
+#: Rtl/Common/StdConvs.pas:308 \r
+msgid "Centimeters"
+msgstr "Centímetros"
+
+#. Programmer's name for it: SDecimetersDescription\r
+#: Rtl/Common/StdConvs.pas:309 \r
+msgid "Decimeters"
+msgstr "Decímetros"
+
+#. Programmer's name for it: SMetersDescription\r
+#: Rtl/Common/StdConvs.pas:310 \r
+msgid "Meters"
+msgstr "Metros"
+
+#. Programmer's name for it: SDecametersDescription\r
+#: Rtl/Common/StdConvs.pas:311 \r
+msgid "Decameters"
+msgstr "Decámetros"
+
+#. Programmer's name for it: SHectometersDescription\r
+#: Rtl/Common/StdConvs.pas:312 \r
+msgid "Hectometers"
+msgstr "Hectómetros"
+
+#. Programmer's name for it: SKilometersDescription\r
+#: Rtl/Common/StdConvs.pas:313 \r
+msgid "Kilometers"
+msgstr "Kilómetros"
+
+#. Programmer's name for it: SMegametersDescription\r
+#: Rtl/Common/StdConvs.pas:314 \r
+msgid "Megameters"
+msgstr "Megámetros"
+
+#. Programmer's name for it: SGigametersDescription\r
+#: Rtl/Common/StdConvs.pas:315 \r
+msgid "Gigameters"
+msgstr "Gigámetros"
+
+#. Programmer's name for it: SInchesDescription\r
+#: Rtl/Common/StdConvs.pas:316 \r
+msgid "Inches"
+msgstr "Pulgadas"
+
+#. Programmer's name for it: SFeetDescription\r
+#: Rtl/Common/StdConvs.pas:317 \r
+msgid "Feet"
+msgstr "Pies"
+
+#. Programmer's name for it: SYardsDescription\r
+#: Rtl/Common/StdConvs.pas:318 \r
+msgid "Yards"
+msgstr "Yardas"
+
+#. Programmer's name for it: SMilesDescription\r
+#: Rtl/Common/StdConvs.pas:319 \r
+msgid "Miles"
+msgstr "Millas"
+
+#. Programmer's name for it: SNauticalMilesDescription\r
+#: Rtl/Common/StdConvs.pas:320 \r
+msgid "NauticalMiles"
+msgstr "Millas náuticas"
+
+#. Programmer's name for it: SAstronomicalUnitsDescription\r
+#: Rtl/Common/StdConvs.pas:321 \r
+msgid "AstronomicalUnits"
+msgstr "Unidades Astronómicas"
+
+#. Programmer's name for it: SLightYearsDescription\r
+#: Rtl/Common/StdConvs.pas:322 \r
+msgid "LightYears"
+msgstr "Años Luz"
+
+#. Programmer's name for it: SParsecsDescription\r
+#: Rtl/Common/StdConvs.pas:323 \r
+msgid "Parsecs"
+msgstr "Parsecs"
+
+#. Programmer's name for it: SCubitsDescription\r
+#: Rtl/Common/StdConvs.pas:324 \r
+msgid "Cubits"
+msgstr "Codos"
+
+#. Programmer's name for it: SFathomsDescription\r
+#: Rtl/Common/StdConvs.pas:325 \r
+msgid "Fathoms"
+msgstr "Brazas"
+
+#. Programmer's name for it: SFurlongsDescription\r
+#: Rtl/Common/StdConvs.pas:326 \r
+msgid "Furlongs"
+msgstr "Furlongs"
+
+#. Programmer's name for it: SHandsDescription\r
+#: Rtl/Common/StdConvs.pas:327 \r
+msgid "Hands"
+msgstr "Palmas"
+
+#. Programmer's name for it: SPacesDescription\r
+#: Rtl/Common/StdConvs.pas:328 \r
+msgid "Paces"
+msgstr "Pasos"
+
+#. Programmer's name for it: SRodsDescription\r
+#: Rtl/Common/StdConvs.pas:329 \r
+msgid "Rods"
+msgstr ""
+
+#. Programmer's name for it: SChainsDescription\r
+#: Rtl/Common/StdConvs.pas:330 \r
+msgid "Chains"
+msgstr ""
+
+#. Programmer's name for it: SLinksDescription\r
+#: Rtl/Common/StdConvs.pas:331 \r
+msgid "Links"
+msgstr ""
+
+#. Programmer's name for it: SPicasDescription\r
+#: Rtl/Common/StdConvs.pas:332 \r
+msgid "Picas"
+msgstr "Picas"
+
+#. Programmer's name for it: SPointsDescription\r
+#: Rtl/Common/StdConvs.pas:333 \r
+msgid "Points"
+msgstr "Puntos"
+
+#. Programmer's name for it: SAreaDescription\r
+#: Rtl/Common/StdConvs.pas:337 \r
+msgid "Area"
+msgstr "Área"
+
+#. Programmer's name for it: SSquareMillimetersDescription\r
+#: Rtl/Common/StdConvs.pas:340 \r
+msgid "SquareMillimeters"
+msgstr "Millímetros cuadrados"
+
+#. Programmer's name for it: SSquareCentimetersDescription\r
+#: Rtl/Common/StdConvs.pas:341 \r
+msgid "SquareCentimeters"
+msgstr "Centímetros cuadrados"
+
+#. Programmer's name for it: SSquareDecimetersDescription\r
+#: Rtl/Common/StdConvs.pas:342 \r
+msgid "SquareDecimeters"
+msgstr "Decímetros cuadrados"
+
+#. Programmer's name for it: SSquareMetersDescription\r
+#: Rtl/Common/StdConvs.pas:343 \r
+msgid "SquareMeters"
+msgstr "Metros cuadrados"
+
+#. Programmer's name for it: SSquareDecametersDescription\r
+#: Rtl/Common/StdConvs.pas:344 \r
+msgid "SquareDecameters"
+msgstr "Decámetros cuadrados"
+
+#. Programmer's name for it: SSquareHectometersDescription\r
+#: Rtl/Common/StdConvs.pas:345 \r
+msgid "SquareHectometers"
+msgstr "Hectómetros cuadrados"
+
+#. Programmer's name for it: SSquareKilometersDescription\r
+#: Rtl/Common/StdConvs.pas:346 \r
+msgid "SquareKilometers"
+msgstr "Kilómetros cuadrados"
+
+#. Programmer's name for it: SSquareInchesDescription\r
+#: Rtl/Common/StdConvs.pas:347 \r
+msgid "SquareInches"
+msgstr "Pulgadas cuadradas"
+
+#. Programmer's name for it: SSquareFeetDescription\r
+#: Rtl/Common/StdConvs.pas:348 \r
+msgid "SquareFeet"
+msgstr "Pies cuadrados"
+
+#. Programmer's name for it: SSquareYardsDescription\r
+#: Rtl/Common/StdConvs.pas:349 \r
+msgid "SquareYards"
+msgstr "Yardas cuadradas"
+
+#. Programmer's name for it: SSquareMilesDescription\r
+#: Rtl/Common/StdConvs.pas:350 \r
+msgid "SquareMiles"
+msgstr "Millas cuadradas"
+
+#. Programmer's name for it: SAcresDescription\r
+#: Rtl/Common/StdConvs.pas:351 \r
+msgid "Acres"
+msgstr "Ácres"
+
+#. Programmer's name for it: SCentaresDescription\r
+#: Rtl/Common/StdConvs.pas:352 \r
+msgid "Centares"
+msgstr "Centares"
+
+#. Programmer's name for it: SAresDescription\r
+#: Rtl/Common/StdConvs.pas:353 \r
+msgid "Ares"
+msgstr "Ares"
+
+#. Programmer's name for it: SHectaresDescription\r
+#: Rtl/Common/StdConvs.pas:354 \r
+msgid "Hectares"
+msgstr "Hectáreas"
+
+#. Programmer's name for it: SSquareRodsDescription\r
+#: Rtl/Common/StdConvs.pas:355 \r
+msgid "SquareRods"
+msgstr ""
+
+#. Programmer's name for it: SVolumeDescription\r
+#: Rtl/Common/StdConvs.pas:359 \r
+msgid "Volume"
+msgstr "Volumen"
+
+#. Programmer's name for it: SCubicMillimetersDescription\r
+#: Rtl/Common/StdConvs.pas:362 \r
+msgid "CubicMillimeters"
+msgstr "Milímetros cúbicos"
+
+#. Programmer's name for it: SCubicCentimetersDescription\r
+#: Rtl/Common/StdConvs.pas:363 \r
+msgid "CubicCentimeters"
+msgstr "Centímetros cúbicos"
+
+#. Programmer's name for it: SCubicDecimetersDescription\r
+#: Rtl/Common/StdConvs.pas:364 \r
+msgid "CubicDecimeters"
+msgstr "Decímetros cúbicos"
+
+#. Programmer's name for it: SCubicMetersDescription\r
+#: Rtl/Common/StdConvs.pas:365 \r
+msgid "CubicMeters"
+msgstr "Metros cúbicos"
+
+#. Programmer's name for it: SCubicDecametersDescription\r
+#: Rtl/Common/StdConvs.pas:366 \r
+msgid "CubicDecameters"
+msgstr "Decámetros cúbicos"
+
+#. Programmer's name for it: SCubicHectometersDescription\r
+#: Rtl/Common/StdConvs.pas:367 \r
+msgid "CubicHectometers"
+msgstr "Hectómetros cúbicos"
+
+#. Programmer's name for it: SCubicKilometersDescription\r
+#: Rtl/Common/StdConvs.pas:368 \r
+msgid "CubicKilometers"
+msgstr "Kilómetros cúbicos"
+
+#. Programmer's name for it: SCubicInchesDescription\r
+#: Rtl/Common/StdConvs.pas:369 \r
+msgid "CubicInches"
+msgstr "Pulgadas cúbicas"
+
+#. Programmer's name for it: SCubicFeetDescription\r
+#: Rtl/Common/StdConvs.pas:370 \r
+msgid "CubicFeet"
+msgstr "Pies cúbicos"
+
+#. Programmer's name for it: SCubicYardsDescription\r
+#: Rtl/Common/StdConvs.pas:371 \r
+msgid "CubicYards"
+msgstr "Yardas cúbicas"
+
+#. Programmer's name for it: SCubicMilesDescription\r
+#: Rtl/Common/StdConvs.pas:372 \r
+msgid "CubicMiles"
+msgstr "Millas cúbicas"
+
+#. Programmer's name for it: SMilliLitersDescription\r
+#: Rtl/Common/StdConvs.pas:373 \r
+msgid "MilliLiters"
+msgstr "Mililitros"
+
+#. Programmer's name for it: SCentiLitersDescription\r
+#: Rtl/Common/StdConvs.pas:374 \r
+msgid "CentiLiters"
+msgstr "Centilitros"
+
+#. Programmer's name for it: SDeciLitersDescription\r
+#: Rtl/Common/StdConvs.pas:375 \r
+msgid "DeciLiters"
+msgstr "Decilitros"
+
+#. Programmer's name for it: SLitersDescription\r
+#: Rtl/Common/StdConvs.pas:376 \r
+msgid "Liters"
+msgstr "Litros"
+
+#. Programmer's name for it: SDecaLitersDescription\r
+#: Rtl/Common/StdConvs.pas:377 \r
+msgid "DecaLiters"
+msgstr "Decalitros"
+
+#. Programmer's name for it: SHectoLitersDescription\r
+#: Rtl/Common/StdConvs.pas:378 \r
+msgid "HectoLiters"
+msgstr "Hectolitros"
+
+#. Programmer's name for it: SKiloLitersDescription\r
+#: Rtl/Common/StdConvs.pas:379 \r
+msgid "KiloLiters"
+msgstr "Kilolitros"
+
+#. Programmer's name for it: SAcreFeetDescription\r
+#: Rtl/Common/StdConvs.pas:380 \r
+msgid "AcreFeet"
+msgstr ""
+
+#. Programmer's name for it: SAcreInchesDescription\r
+#: Rtl/Common/StdConvs.pas:381 \r
+msgid "AcreInches"
+msgstr ""
+
+#. Programmer's name for it: SCordsDescription\r
+#: Rtl/Common/StdConvs.pas:382 \r
+msgid "Cords"
+msgstr ""
+
+#. Programmer's name for it: SCordFeetDescription\r
+#: Rtl/Common/StdConvs.pas:383 \r
+msgid "CordFeet"
+msgstr ""
+
+#. Programmer's name for it: SDecisteresDescription\r
+#: Rtl/Common/StdConvs.pas:384 \r
+msgid "Decisteres"
+msgstr ""
+
+#. Programmer's name for it: SSteresDescription\r
+#: Rtl/Common/StdConvs.pas:385 \r
+msgid "Steres"
+msgstr ""
+
+#. Programmer's name for it: SDecasteresDescription\r
+#: Rtl/Common/StdConvs.pas:386 \r
+msgid "Decasteres"
+msgstr ""
+
+#. Programmer's name for it: SFluidGallonsDescription\r
+#: Rtl/Common/StdConvs.pas:389 \r
+msgid "FluidGallons"
+msgstr ""
+
+#. Programmer's name for it: SFluidQuartsDescription\r
+#: Rtl/Common/StdConvs.pas:390 \r
+msgid "FluidQuarts"
+msgstr ""
+
+#. Programmer's name for it: SFluidPintsDescription\r
+#: Rtl/Common/StdConvs.pas:391 \r
+msgid "FluidPints"
+msgstr ""
+
+#. Programmer's name for it: SFluidCupsDescription\r
+#: Rtl/Common/StdConvs.pas:392 \r
+msgid "FluidCups"
+msgstr ""
+
+#. Programmer's name for it: SFluidGillsDescription\r
+#: Rtl/Common/StdConvs.pas:393 \r
+msgid "FluidGills"
+msgstr ""
+
+#. Programmer's name for it: SFluidOuncesDescription\r
+#: Rtl/Common/StdConvs.pas:394 \r
+msgid "FluidOunces"
+msgstr ""
+
+#. Programmer's name for it: SFluidTablespoonsDescription\r
+#: Rtl/Common/StdConvs.pas:395 \r
+msgid "FluidTablespoons"
+msgstr ""
+
+#. Programmer's name for it: SFluidTeaspoonsDescription\r
+#: Rtl/Common/StdConvs.pas:396 \r
+msgid "FluidTeaspoons"
+msgstr ""
+
+#. Programmer's name for it: SDryGallonsDescription\r
+#: Rtl/Common/StdConvs.pas:399 \r
+msgid "DryGallons"
+msgstr ""
+
+#. Programmer's name for it: SDryQuartsDescription\r
+#: Rtl/Common/StdConvs.pas:400 \r
+msgid "DryQuarts"
+msgstr ""
+
+#. Programmer's name for it: SDryPintsDescription\r
+#: Rtl/Common/StdConvs.pas:401 \r
+msgid "DryPints"
+msgstr ""
+
+#. Programmer's name for it: SDryPecksDescription\r
+#: Rtl/Common/StdConvs.pas:402 \r
+msgid "DryPecks"
+msgstr ""
+
+#. Programmer's name for it: SDryBucketsDescription\r
+#: Rtl/Common/StdConvs.pas:403 \r
+msgid "DryBuckets"
+msgstr ""
+
+#. Programmer's name for it: SDryBushelsDescription\r
+#: Rtl/Common/StdConvs.pas:404 \r
+msgid "DryBushels"
+msgstr ""
+
+#. Programmer's name for it: SUKGallonsDescription\r
+#: Rtl/Common/StdConvs.pas:407 \r
+msgid "UKGallons"
+msgstr ""
+
+#. Programmer's name for it: SUKPottlesDescription\r
+#: Rtl/Common/StdConvs.pas:408 \r
+msgid "UKPottle"
+msgstr ""
+
+#. Programmer's name for it: SUKQuartsDescription\r
+#: Rtl/Common/StdConvs.pas:409 \r
+msgid "UKQuarts"
+msgstr ""
+
+#. Programmer's name for it: SUKPintsDescription\r
+#: Rtl/Common/StdConvs.pas:410 \r
+msgid "UKPints"
+msgstr ""
+
+#. Programmer's name for it: SUKGillsDescription\r
+#: Rtl/Common/StdConvs.pas:411 \r
+msgid "UKGill"
+msgstr ""
+
+#. Programmer's name for it: SUKOuncesDescription\r
+#: Rtl/Common/StdConvs.pas:412 \r
+msgid "UKOunces"
+msgstr ""
+
+#. Programmer's name for it: SUKPecksDescription\r
+#: Rtl/Common/StdConvs.pas:413 \r
+msgid "UKPecks"
+msgstr ""
+
+#. Programmer's name for it: SUKBucketsDescription\r
+#: Rtl/Common/StdConvs.pas:414 \r
+msgid "UKBuckets"
+msgstr ""
+
+#. Programmer's name for it: SUKBushelsDescription\r
+#: Rtl/Common/StdConvs.pas:415 \r
+msgid "UKBushels"
+msgstr ""
+
+#. Programmer's name for it: SMassDescription\r
+#: Rtl/Common/StdConvs.pas:419 \r
+msgid "Mass"
+msgstr "Masa"
+
+#. Programmer's name for it: SNanogramsDescription\r
+#: Rtl/Common/StdConvs.pas:422 \r
+msgid "Nanograms"
+msgstr "Nanogramos"
+
+#. Programmer's name for it: SMicrogramsDescription\r
+#: Rtl/Common/StdConvs.pas:423 \r
+msgid "Micrograms"
+msgstr "Microgramos"
+
+#. Programmer's name for it: SMilligramsDescription\r
+#: Rtl/Common/StdConvs.pas:424 \r
+msgid "Milligrams"
+msgstr "Miligramos"
+
+#. Programmer's name for it: SCentigramsDescription\r
+#: Rtl/Common/StdConvs.pas:425 \r
+msgid "Centigrams"
+msgstr "Centigramos"
+
+#. Programmer's name for it: SDecigramsDescription\r
+#: Rtl/Common/StdConvs.pas:426 \r
+msgid "Decigrams"
+msgstr "Decigramos"
+
+#. Programmer's name for it: SGramsDescription\r
+#: Rtl/Common/StdConvs.pas:427 \r
+msgid "Grams"
+msgstr "Gramos"
+
+#. Programmer's name for it: SDecagramsDescription\r
+#: Rtl/Common/StdConvs.pas:428 \r
+msgid "Decagrams"
+msgstr "Decagramos"
+
+#. Programmer's name for it: SHectogramsDescription\r
+#: Rtl/Common/StdConvs.pas:429 \r
+msgid "Hectograms"
+msgstr "Hectogramos"
+
+#. Programmer's name for it: SKilogramsDescription\r
+#: Rtl/Common/StdConvs.pas:430 \r
+msgid "Kilograms"
+msgstr "Kilogramos"
+
+#. Programmer's name for it: SMetricTonsDescription\r
+#: Rtl/Common/StdConvs.pas:431 \r
+msgid "MetricTons"
+msgstr "Toneladas métricas"
+
+#. Programmer's name for it: SDramsDescription\r
+#: Rtl/Common/StdConvs.pas:432 \r
+msgid "Drams"
+msgstr ""
+
+#. Programmer's name for it: SGrainsDescription\r
+#: Rtl/Common/StdConvs.pas:433 \r
+msgid "Grains"
+msgstr ""
+
+#. Programmer's name for it: STonsDescription\r
+#: Rtl/Common/StdConvs.pas:434 \r
+msgid "Tons"
+msgstr "Toneladas"
+
+#. Programmer's name for it: SLongTonsDescription\r
+#: Rtl/Common/StdConvs.pas:435 \r
+msgid "LongTons"
+msgstr ""
+
+#. Programmer's name for it: SOuncesDescription\r
+#: Rtl/Common/StdConvs.pas:436 \r
+msgid "Ounces"
+msgstr ""
+
+#. Programmer's name for it: SPoundsDescription\r
+#: Rtl/Common/StdConvs.pas:437 \r
+msgid "Pounds"
+msgstr ""
+
+#. Programmer's name for it: STemperatureDescription\r
+#: Rtl/Common/StdConvs.pas:441 \r
+msgid "Temperature"
+msgstr "Temperatura"
+
+#. Programmer's name for it: SCelsiusDescription\r
+#: Rtl/Common/StdConvs.pas:444 \r
+msgid "Celsius"
+msgstr "Celsius"
+
+#. Programmer's name for it: SKelvinDescription\r
+#: Rtl/Common/StdConvs.pas:445 \r
+msgid "Kelvin"
+msgstr "Kelvin"
+
+#. Programmer's name for it: SFahrenheitDescription\r
+#: Rtl/Common/StdConvs.pas:446 \r
+msgid "Fahrenheit"
+msgstr "Fahrenheit"
+
+#. Programmer's name for it: SRankineDescription\r
+#: Rtl/Common/StdConvs.pas:447 \r
+msgid "Rankine"
+msgstr "Rankine"
+
+#. Programmer's name for it: SReaumurDescription\r
+#: Rtl/Common/StdConvs.pas:448 \r
+msgid "Reaumur"
+msgstr "Reaumur"
+
+#. Programmer's name for it: SMilliSecondsDescription\r
+#: Rtl/Common/StdConvs.pas:455 \r
+msgid "MilliSeconds"
+msgstr "Milisegundos"
+
+#. Programmer's name for it: SSecondsDescription\r
+#: Rtl/Common/StdConvs.pas:456 \r
+msgid "Seconds"
+msgstr "Segundos"
+
+#. Programmer's name for it: SMinutesDescription\r
+#: Rtl/Common/StdConvs.pas:457 \r
+msgid "Minutes"
+msgstr "Minutos"
+
+#. Programmer's name for it: SHoursDescription\r
+#: Rtl/Common/StdConvs.pas:458 \r
+msgid "Hours"
+msgstr "Horas"
+
+#. Programmer's name for it: SDaysDescription\r
+#: Rtl/Common/StdConvs.pas:459 \r
+msgid "Days"
+msgstr "Días"
+
+#. Programmer's name for it: SWeeksDescription\r
+#: Rtl/Common/StdConvs.pas:460 \r
+msgid "Weeks"
+msgstr "Semanas"
+
+#. Programmer's name for it: SFortnightsDescription\r
+#: Rtl/Common/StdConvs.pas:461 \r
+msgid "Fortnights"
+msgstr ""
+
+#. Programmer's name for it: SMonthsDescription\r
+#: Rtl/Common/StdConvs.pas:462 \r
+msgid "Months"
+msgstr "Meses"
+
+#. Programmer's name for it: SYearsDescription\r
+#: Rtl/Common/StdConvs.pas:463 \r
+msgid "Years"
+msgstr "Años"
+
+#. Programmer's name for it: SDecadesDescription\r
+#: Rtl/Common/StdConvs.pas:464 \r
+msgid "Decades"
+msgstr "Décadas"
+
+#. Programmer's name for it: SCenturiesDescription\r
+#: Rtl/Common/StdConvs.pas:465 \r
+msgid "Centuries"
+msgstr "Cenurias"
+
+#. Programmer's name for it: SMillenniaDescription\r
+#: Rtl/Common/StdConvs.pas:466 \r
+msgid "Millennia"
+msgstr "Milenios"
+
+#. Programmer's name for it: SDateTimeDescription\r
+#: Rtl/Common/StdConvs.pas:467 \r
+msgid "DateTime"
+msgstr "Fecha y Hora"
+
+#. Programmer's name for it: SJulianDateDescription\r
+#: Rtl/Common/StdConvs.pas:468 \r
+msgid "JulianDate"
+msgstr "Fecha Juliana"
+
+#. Programmer's name for it: SModifiedJulianDateDescription\r
+#: Rtl/Common/StdConvs.pas:469 \r
+msgid "ModifiedJulianDate"
+msgstr "Fecha Juliana Modificada"
+
+#. Programmer's name for it: SCouldNotParseImaginary\r
+#: Rtl/Common/VarCmplx.pas:255 \r
+msgid "Could not parse imaginary portion"
+msgstr ""
+
+#. Programmer's name for it: SCouldNotParseSymbol\r
+#: Rtl/Common/VarCmplx.pas:256 \r
+msgid "Could not parse required '%s' symbol"
+msgstr ""
+
+#. Programmer's name for it: SCouldNotParsePlus\r
+#: Rtl/Common/VarCmplx.pas:257 \r
+msgid "Could not parse required '+' (or '-') symbol"
+msgstr ""
+
+#. Programmer's name for it: SCouldNotParseReal\r
+#: Rtl/Common/VarCmplx.pas:258 \r
+msgid "Could not parse real portion"
+msgstr ""
+
+#. Programmer's name for it: SUnexpectedEOS\r
+#: Rtl/Common/VarCmplx.pas:259 \r
+msgid "Unexpected end of string [%s]"
+msgstr "Fin de cadena inesperada [%s]"
+
+#. Programmer's name for it: SErrorSuffix\r
+#: Rtl/Common/VarCmplx.pas:260 \r
+msgid "%s [%s<?>%s]"
+msgstr ""
+
+#. Programmer's name for it: SCorbaDllNotLoaded\r
+#: Rtl/Corba/CorbCnst.pas:14 \r Rtl/Corba40/CorbCnst.pas:14
+msgid "Unable to load CORBA libraries"
+msgstr "No se pueden cargar las librerias CORBA"
+
+#. Programmer's name for it: SCorbaNotInitialized\r
+#: Rtl/Corba/CorbCnst.pas:15 \r Rtl/Corba40/CorbCnst.pas:15
+msgid "CORBA libraries are unavailable or not initialized"
+msgstr ""
+
+#. Programmer's name for it: SCorbaSkeletonNotRegistered\r
+#: Rtl/Corba/CorbCnst.pas:16 \r Rtl/Corba40/CorbCnst.pas:16
+msgid "CORBA server skeleton not registered for object %s"
+msgstr ""
+
+#. Programmer's name for it: SCorbaStubNotRegistered\r
+#: Rtl/Corba/CorbCnst.pas:17 \r Rtl/Corba40/CorbCnst.pas:17
+msgid "CORBA client stub not registered"
+msgstr ""
+
+#. Programmer's name for it: SCorbaInterfaceIDNotRegister\r
+#: Rtl/Corba/CorbCnst.pas:18 \r Rtl/Corba40/CorbCnst.pas:18
+msgid "CORBA interface not registered"
+msgstr ""
+
+#. Programmer's name for it: SCorbaRepositoryIDNotRegistered\r
+#: Rtl/Corba/CorbCnst.pas:19 \r Rtl/Corba40/CorbCnst.pas:19
+msgid "CORBA Repository ID \"%s\" not registered"
+msgstr ""
+
+#. Programmer's name for it: SCorbaIncompleteFactory\r
+#: Rtl/Corba/CorbCnst.pas:20 \r Rtl/Corba40/CorbCnst.pas:20
+msgid "CORBA Factory did not implement CreateInterface"
+msgstr ""
+
+#. Programmer's name for it: sInvalidTypeCast\r
+#: Rtl/Corba/CorbCnst.pas:23 \r Rtl/Corba40/CorbCnst.pas:23
+msgid "Variant cannot be converted to a CORBA Any"
+msgstr ""
+
+#. Programmer's name for it: sNotCorbaObject\r
+#: Rtl/Corba/CorbCnst.pas:24 \r Rtl/Corba40/CorbCnst.pas:24
+msgid "Variant/Any not a CORBA object"
+msgstr ""
+
+#. Programmer's name for it: sParamTypeCast\r
+#: Rtl/Corba/CorbCnst.pas:25 \r Rtl/Corba40/CorbCnst.pas:25
+msgid "Parameter (%d) of method %s not of the correct type"
+msgstr ""
+
+#. Programmer's name for it: sParamOut\r
+#: Rtl/Corba/CorbCnst.pas:26 \r Rtl/Corba40/CorbCnst.pas:26
+msgid ""
+"Parameter (%d) of method %s is an out or in/out parameter and requires a "
+"variable reference"
+msgstr ""
+
+#. Programmer's name for it: sNoRepository\r
+#: Rtl/Corba/CorbCnst.pas:27 \r Rtl/Corba40/CorbCnst.pas:27
+msgid "Could not perform CORBA Dispatch, no interface repository found"
+msgstr ""
+
+#. Programmer's name for it: sInvalidParameterCount\r
+#: Rtl/Corba/CorbCnst.pas:28 \r Rtl/Corba40/CorbCnst.pas:28
+msgid "Incorrect number of parameters to method %s"
+msgstr ""
+
+#. Programmer's name for it: sMethodNotFound\r
+#: Rtl/Corba/CorbCnst.pas:29 \r Rtl/Corba40/CorbCnst.pas:29
+msgid "Method %s not found"
+msgstr "No se ha encontrado el método %s"
+
+#. Programmer's name for it: sConnecting\r
+#: Rtl/Corba/CorbCnst.pas:30 \r Rtl/Corba40/CorbCnst.pas:30
+msgid "Connecting to CORBA server..."
+msgstr "Conectando al servidor CORBA "
+
+#. Programmer's name for it: SUnknown\r
+#: Rtl/Sys/SysConst.pas:14 \r
+msgid "<unknown>"
+msgstr "<desconocido>"
+
+#. Programmer's name for it: SInvalidInteger\r
+#: Rtl/Sys/SysConst.pas:15 \r
+msgid "'%s' is not a valid integer value"
+msgstr "'%s' no es un valor entero válido"
+
+#. Programmer's name for it: SInvalidFloat\r
+#: Rtl/Sys/SysConst.pas:16 \r
+msgid "'%s' is not a valid floating point value"
+msgstr "'%s' no es un valor con punto flotante válido"
+
+#. Programmer's name for it: SInvalidCurrency\r
+#: Rtl/Sys/SysConst.pas:17 \r
+msgid "'%s' is not a valid currency value"
+msgstr "'%s' no es un valor de dinero válido"
+
+#. Programmer's name for it: SInvalidDate\r
+#: Rtl/Sys/SysConst.pas:18 \r
+msgid "'%s' is not a valid date"
+msgstr "'%s' no es una fecha válida"
+
+#. Programmer's name for it: SInvalidTime\r
+#: Rtl/Sys/SysConst.pas:19 \r
+msgid "'%s' is not a valid time"
+msgstr "'%s' no es una hora válida"
+
+#. Programmer's name for it: SInvalidDateTime\r
+#: Rtl/Sys/SysConst.pas:20 \r
+msgid "'%s' is not a valid date and time"
+msgstr "'%s' no es una fecha y hora válidas"
+
+#. Programmer's name for it: SInvalidDateTimeFloat\r
+#: Rtl/Sys/SysConst.pas:21 \r
+msgid "'%g' is not a valid date and time"
+msgstr "'%g' no es una fecha y tiempo válidos"
+
+#. Programmer's name for it: SInvalidTimeStamp\r
+#: Rtl/Sys/SysConst.pas:22 \r
+msgid "'%d.%d' is not a valid timestamp"
+msgstr "'%d.%d' no es un timestamp válido"
+
+#. Programmer's name for it: SInvalidGUID\r
+#: Rtl/Sys/SysConst.pas:23 \r
+msgid "'%s' is not a valid GUID value"
+msgstr "'%s' no es un valor de GUID válido"
+
+#. Programmer's name for it: SInvalidBoolean\r
+#: Rtl/Sys/SysConst.pas:24 \r
+msgid "'%s' is not a valid boolean value"
+msgstr "'%s' no es un valor de GUID válido"
+
+#. Programmer's name for it: SOutOfMemory\r
+#: Rtl/Sys/SysConst.pas:27 \r
+msgid "Out of memory"
+msgstr "Fuera de memoria"
+
+#. Programmer's name for it: SInOutError\r
+#: Rtl/Sys/SysConst.pas:28 \r
+msgid "I/O error %d"
+msgstr "Hay un error E/S %d"
+
+#. Programmer's name for it: SFileNotFound\r
+#: Rtl/Sys/SysConst.pas:29 \r
+msgid "File not found"
+msgstr "Archivo no encontrado"
+
+#. Programmer's name for it: SInvalidFilename\r
+#: Rtl/Sys/SysConst.pas:30 \r
+msgid "Invalid filename"
+msgstr "Nombre de archivo no válido"
+
+#. Programmer's name for it: STooManyOpenFiles\r
+#: Rtl/Sys/SysConst.pas:31 \r
+msgid "Too many open files"
+msgstr "Demasiados archivos abiertos"
+
+#. Programmer's name for it: SAccessDenied\r
+#: Rtl/Sys/SysConst.pas:32 \r
+msgid "File access denied"
+msgstr "Acceso al archivo denegado"
+
+#. Programmer's name for it: SEndOfFile\r
+#: Rtl/Sys/SysConst.pas:33 \r
+msgid "Read beyond end of file"
+msgstr "Lectura más allá del final del archivo"
+
+#. Programmer's name for it: SDiskFull\r
+#: Rtl/Sys/SysConst.pas:34 \r
+msgid "Disk full"
+msgstr "Disco lleno"
+
+#. Programmer's name for it: SInvalidInput\r
+#: Rtl/Sys/SysConst.pas:35 \r
+msgid "Invalid numeric input"
+msgstr "Entrada numérica no válida"
+
+#. Programmer's name for it: SDivByZero\r
+#: Rtl/Sys/SysConst.pas:36 \r
+msgid "Division by zero"
+msgstr "División por cero"
+
+#. Programmer's name for it: SRangeError\r
+#: Rtl/Sys/SysConst.pas:37 \r
+msgid "Range check error"
+msgstr "Hay un error de comprobación de rango"
+
+#. Programmer's name for it: SIntOverflow\r
+#: Rtl/Sys/SysConst.pas:38 \r
+msgid "Integer overflow"
+msgstr "Desbordamimento de entero"
+
+#. Programmer's name for it: SInvalidOp\r
+#: Rtl/Sys/SysConst.pas:39 \r
+msgid "Invalid floating point operation"
+msgstr "Operación de coma flotante no válida"
+
+#. Programmer's name for it: SZeroDivide\r
+#: Rtl/Sys/SysConst.pas:40 \r
+msgid "Floating point division by zero"
+msgstr "División de coma flotante por cero"
+
+#. Programmer's name for it: SOverflow\r
+#: Rtl/Sys/SysConst.pas:41 \r
+msgid "Floating point overflow"
+msgstr "Desbordamiento de coma flotante"
+
+#. Programmer's name for it: SUnderflow\r
+#: Rtl/Sys/SysConst.pas:42 \r
+msgid "Floating point underflow"
+msgstr "Coma flotante por debajo de su valor"
+
+#. Programmer's name for it: SInvalidPointer\r
+#: Rtl/Sys/SysConst.pas:43 \r
+msgid "Invalid pointer operation"
+msgstr "Operación de puntero no válida"
+
+#. Programmer's name for it: SInvalidCast\r
+#: Rtl/Sys/SysConst.pas:44 \r
+msgid "Invalid class typecast"
+msgstr "Tipo no válido (typecast) de clase"
+
+#. Programmer's name for it: SAccessViolation\r
+#: Rtl/Sys/SysConst.pas:46 \r
+msgid "Access violation at address %p. %s of address %p"
+msgstr "Violación de acceso a la dirección %p. Accediendo a la dirección %p"
+
+#. Programmer's name for it: SAccessViolation\r
+#: Rtl/Sys/SysConst.pas:49 \r
+msgid "Access violation at address %p, accessing address %p"
+msgstr "Violación de acceso a la dirección %p. %s de dirección %p"
+
+#. Programmer's name for it: SStackOverflow\r
+#: Rtl/Sys/SysConst.pas:51 \r
+msgid "Stack overflow"
+msgstr "Desbordamiento de la pila"
+
+#. Programmer's name for it: SControlC\r
+#: Rtl/Sys/SysConst.pas:52 \r
+msgid "Control-C hit"
+msgstr "Control-C pulsado"
+
+#. Programmer's name for it: SQuit\r
+#: Rtl/Sys/SysConst.pas:53 \r
+msgid "Quit key hit"
+msgstr "Tecla de salida pulsada"
+
+#. Programmer's name for it: SPrivilege\r
+#: Rtl/Sys/SysConst.pas:54 \r
+msgid "Privileged instruction"
+msgstr "Instrucción privilegiada"
+
+#. Programmer's name for it: SOperationAborted\r
+#: Rtl/Sys/SysConst.pas:55 \r
+msgid "Operation aborted"
+msgstr "Operación abortada"
+
+#. Programmer's name for it: SException\r
+#: Rtl/Sys/SysConst.pas:56 \r
+msgid ""
+"Exception %s in module %s at %p.\n"
+"%s%s"
+msgstr ""
+"Excepción %s en el módulo %s en %p.\n"
+"%s%s"
+
+#. Programmer's name for it: SExceptTitle\r
+#: Rtl/Sys/SysConst.pas:57 \r
+msgid "Application Error"
+msgstr "Hay un error de la aplicación"
+
+#. Programmer's name for it: SSigactionFailed\r
+#: Rtl/Sys/SysConst.pas:59 \r
+msgid "sigaction call failed"
+msgstr "La llamada del sigaction falló"
+
+#. Programmer's name for it: SInvalidFormat\r
+#: Rtl/Sys/SysConst.pas:61 \r
+msgid "Format '%s' invalid or incompatible with argument"
+msgstr "Formato '%s' no válido o incompatible con el argumento"
+
+#. Programmer's name for it: SArgumentMissing\r
+#: Rtl/Sys/SysConst.pas:62 \r
+msgid "No argument for format '%s'"
+msgstr "No existe argumento para el formato '%s'"
+
+#. Programmer's name for it: SInvalidVarCast\r
+#: Rtl/Sys/SysConst.pas:63 \r
+msgid "Invalid variant type conversion"
+msgstr "Conversión de tipo variant no válida"
+
+#. Programmer's name for it: SInvalidVarOp\r
+#: Rtl/Sys/SysConst.pas:64 \r
+msgid "Invalid variant operation"
+msgstr "Operación variant no válida"
+
+#. Programmer's name for it: SDispatchError\r
+#: Rtl/Sys/SysConst.pas:65 \r
+msgid "Variant method calls not supported"
+msgstr "Llamadas al método variant no soportadas"
+
+#. Programmer's name for it: SResultTooLong\r
+#: Rtl/Sys/SysConst.pas:68 \r
+msgid "Format result longer than 4096 characters"
+msgstr "Formato del resultado más largo de 4096 caracteres"
+
+#. Programmer's name for it: SFormatTooLong\r
+#: Rtl/Sys/SysConst.pas:69 \r
+msgid "Format string too long"
+msgstr "Formato de cadena demasiado largo"
+
+#. Programmer's name for it: SVarArrayCreate\r
+#: Rtl/Sys/SysConst.pas:70 \r
+msgid "Error creating variant array"
+msgstr "Se ha producido un error al crear matriz de variant"
+
+#. Programmer's name for it: SVarNotArray\r
+#: Rtl/Sys/SysConst.pas:71 \r
+msgid "Variant is not an array"
+msgstr "Variant no es una matriz"
+
+#. Programmer's name for it: SVarArrayBounds\r
+#: Rtl/Sys/SysConst.pas:72 \r
+msgid "Variant array index out of bounds"
+msgstr "Indice de matriz variant fuera de rango"
+
+#. Programmer's name for it: SVarTypeUnknown\r
+#: Rtl/Sys/SysConst.pas:73 \r
+msgid "Unknown custom variant type ($.4x)"
+msgstr "Tipo variant del cliente desconocido ($.4x)"
+
+#. Programmer's name for it: SVarTypeOutOfRange\r
+#: Rtl/Sys/SysConst.pas:74 \r
+msgid "Custom variant type ($.4x) is out of range"
+msgstr "El tipo variant personalizado ($.4x) está fuera de rango"
+
+#. Programmer's name for it: SVarTypeAlreadyUsed\r
+#: Rtl/Sys/SysConst.pas:75 \r
+msgid "Custom variant type (%.4x) already used by %s"
+msgstr "El tipo variant personalizado (%.4x) ya està usado por %s"
+
+#. Programmer's name for it: SVarTypeNotUsable\r
+#: Rtl/Sys/SysConst.pas:76 \r
+msgid "Custom variant type (%.4x) is not usable"
+msgstr "El tipo variant personalizado (%.4x) no es utilizable"
+
+#. Programmer's name for it: SVarTypeTooManyCustom\r
+#: Rtl/Sys/SysConst.pas:77 \r
+msgid "Too many custom variants have been registered"
+msgstr "Han sido registradas demasiadas variantes personalizadas"
+
+#. Programmer's name for it: SVarDataClearRecursing\r
+#: Rtl/Sys/SysConst.pas:78 \r
+msgid "Recursion while doing a VarDataClear"
+msgstr "Recursión mientras se hacía un VarDataClear"
+
+#. Programmer's name for it: SVarDataCopyRecursing\r
+#: Rtl/Sys/SysConst.pas:79 \r
+msgid "Recursion while doing a VarDataCopy"
+msgstr "Recursión mientras se hacía un VarDataCopy"
+
+#. Programmer's name for it: SVarDataCopyNoIndRecursing\r
+#: Rtl/Sys/SysConst.pas:80 \r
+msgid "Recursion while doing a VarDataCopyNoInd"
+msgstr "Recursión mientras se hacía un VarDataCopyNoInd"
+
+#. Programmer's name for it: SVarDataInitRecursing\r
+#: Rtl/Sys/SysConst.pas:81 \r
+msgid "Recursion while doing a VarDataInit"
+msgstr "Recursión mientras se hacía un VarDataInit"
+
+#. Programmer's name for it: SVarDataCastToRecursing\r
+#: Rtl/Sys/SysConst.pas:82 \r
+msgid "Recursion while doing a VarDataCastTo"
+msgstr "Recursión mientras se hacía un VarDataCastTo"
+
+#. Programmer's name for it: SVarIsEmpty\r
+#: Rtl/Sys/SysConst.pas:83 \r
+msgid "Variant is empty"
+msgstr "La variable está vacía"
+
+#. Programmer's name for it: sUnknownFromType\r
+#: Rtl/Sys/SysConst.pas:84 \r
+msgid "Cannot convert from the specified type"
+msgstr "No se puede convertir desde el tipo especificado"
+
+#. Programmer's name for it: sUnknownToType\r
+#: Rtl/Sys/SysConst.pas:85 \r
+msgid "Cannot convert to the specified type"
+msgstr "No se puede convertir al tipo especificado"
+
+#. Programmer's name for it: SExternalException\r
+#: Rtl/Sys/SysConst.pas:86 \r
+msgid "External exception %x"
+msgstr "Excepción externa %x"
+
+#. Programmer's name for it: SAssertionFailed\r
+#: Rtl/Sys/SysConst.pas:87 \r
+msgid "Assertion failed"
+msgstr "Falló la aserción"
+
+#. Programmer's name for it: SIntfCastError\r
+#: Rtl/Sys/SysConst.pas:88 \r
+msgid "Interface not supported"
+msgstr "Interfaz no soportada"
+
+#. Programmer's name for it: SSafecallException\r
+#: Rtl/Sys/SysConst.pas:89 \r
+msgid "Exception in safecall method"
+msgstr "Excepción en método Safecall"
+
+#. Programmer's name for it: SAssertError\r
+#: Rtl/Sys/SysConst.pas:90 \r
+msgid "%s (%s, line %d)"
+msgstr "%s (%s, línea %d)"
+
+#. Programmer's name for it: SAbstractError\r
+#: Rtl/Sys/SysConst.pas:91 \r
+msgid "Abstract Error"
+msgstr "Hay un error abstracto"
+
+#. Programmer's name for it: SModuleAccessViolation\r
+#: Rtl/Sys/SysConst.pas:92 \r
+msgid "Access violation at address %p in module '%s'. %s of address %p"
+msgstr ""
+"Violación de acceso a la dirección %p en el módulo '%s'. %s de dirección %p"
+
+#. Programmer's name for it: SCannotReadPackageInfo\r
+#: Rtl/Sys/SysConst.pas:93 \r
+msgid "Cannot access package information for package '%s'"
+msgstr "No puede acceder la información del paquete para el paquete '%s'"
+
+#. Programmer's name for it: sErrorLoadingPackage\r
+#: Rtl/Sys/SysConst.pas:94 \r
+msgid ""
+"Can't load package %s.\n"
+"%s"
+msgstr ""
+"No se puede cargar el paquete %s.\n"
+"%s"
+
+#. Programmer's name for it: SInvalidPackageFile\r
+#: Rtl/Sys/SysConst.pas:95 \r
+msgid "Invalid package file '%s'"
+msgstr "El archivo del paquete no es válido '%s'"
+
+#. Programmer's name for it: SInvalidPackageHandle\r
+#: Rtl/Sys/SysConst.pas:96 \r
+msgid "Invalid package handle"
+msgstr "El manejador (handle) del paquete no es válido"
+
+#. Programmer's name for it: SDuplicatePackageUnit\r
+#: Rtl/Sys/SysConst.pas:98 \r
+msgid ""
+"Cannot load package '%s.' It contains unit '%s,'which is also contained in "
+"package '%s'"
+msgstr ""
+"No se puede cargar el paquete '%s'. Contiene la unidad '%s,' que también "
+"está contenida en el paquete '%s'"
+
+#. Programmer's name for it: SOSError\r
+#: Rtl/Sys/SysConst.pas:99 \r
+msgid ""
+"System Error. Code: %d.\n"
+"%s"
+msgstr ""
+"Hay un error del sistema. Código: %d\n"
+"%s"
+
+#. Programmer's name for it: SUnkOSError\r
+#: Rtl/Sys/SysConst.pas:100 \r
+msgid "A call to an OS function failed"
+msgstr "Ha fallado una llamada a una función del SO"
+
+#. use SOSError\r
+#: Rtl/Sys/SysConst.pas:102 \r
+msgid ""
+"Win32 Error. Code: %d.\n"
+"%s"
+msgstr ""
+"Hay un error Win32. Código: %d.\n"
+"%s"
+
+#. use SUnkOSError\r
+#: Rtl/Sys/SysConst.pas:103 \r
+msgid "A Win32 API function failed"
+msgstr "Ha fallado una función del API Win32"
+
+#. Programmer's name for it: SNL\r
+#: Rtl/Sys/SysConst.pas:105 \r
+msgid "Application is not licensed to use this feature"
+msgstr "La aplicación no está autorizada para usar esta característica"
+
+#. Programmer's name for it: SConvDuplicateType\r
+#: Rtl/Sys/SysConst.pas:111 \r
+msgid "Conversion type (%s) already registered"
+msgstr "La conversión de tipo (%s) ya está registrada"
+
+#. Programmer's name for it: SShortMonthNameJan\r
+#: Rtl/Sys/SysConst.pas:119 \r
+msgid "Jan"
+msgstr "Ene"
+
+#. Programmer's name for it: SShortMonthNameFeb\r
+#: Rtl/Sys/SysConst.pas:120 \r
+msgid "Feb"
+msgstr "Feb"
+
+#. Programmer's name for it: SShortMonthNameMar\r
+#: Rtl/Sys/SysConst.pas:121 \r
+msgid "Mar"
+msgstr "Mar"
+
+#. Programmer's name for it: SShortMonthNameApr\r
+#: Rtl/Sys/SysConst.pas:122 \r
+msgid "Apr"
+msgstr "Abr"
+
+#. Programmer's name for it: SShortMonthNameMay\r
+#. Programmer's name for it: SLongMonthNameMay\r
+#: Rtl/Sys/SysConst.pas:123 \r Rtl/Sys/SysConst.pas:136
+msgid "May"
+msgstr "May"
+
+#. Programmer's name for it: SShortMonthNameJun\r
+#: Rtl/Sys/SysConst.pas:124 \r
+msgid "Jun"
+msgstr "Jun"
+
+#. Programmer's name for it: SShortMonthNameJul\r
+#: Rtl/Sys/SysConst.pas:125 \r
+msgid "Jul"
+msgstr "Jul"
+
+#. Programmer's name for it: SShortMonthNameAug\r
+#: Rtl/Sys/SysConst.pas:126 \r
+msgid "Aug"
+msgstr "Ago"
+
+#. Programmer's name for it: SShortMonthNameSep\r
+#: Rtl/Sys/SysConst.pas:127 \r
+msgid "Sep"
+msgstr "Sep"
+
+#. Programmer's name for it: SShortMonthNameOct\r
+#: Rtl/Sys/SysConst.pas:128 \r
+msgid "Oct"
+msgstr "Oct"
+
+#. Programmer's name for it: SShortMonthNameNov\r
+#: Rtl/Sys/SysConst.pas:129 \r
+msgid "Nov"
+msgstr "Nov"
+
+#. Programmer's name for it: SShortMonthNameDec\r
+#: Rtl/Sys/SysConst.pas:130 \r
+msgid "Dec"
+msgstr "Dic"
+
+#. Programmer's name for it: SLongMonthNameJan\r
+#: Rtl/Sys/SysConst.pas:132 \r
+msgid "January"
+msgstr "Enero"
+
+#. Programmer's name for it: SLongMonthNameFeb\r
+#: Rtl/Sys/SysConst.pas:133 \r
+msgid "February"
+msgstr "Febrero"
+
+#. Programmer's name for it: SLongMonthNameMar\r
+#: Rtl/Sys/SysConst.pas:134 \r
+msgid "March"
+msgstr "Marzo"
+
+#. Programmer's name for it: SLongMonthNameApr\r
+#: Rtl/Sys/SysConst.pas:135 \r
+msgid "April"
+msgstr "Abril"
+
+#. Programmer's name for it: SLongMonthNameJun\r
+#: Rtl/Sys/SysConst.pas:137 \r
+msgid "June"
+msgstr "Junio"
+
+#. Programmer's name for it: SLongMonthNameJul\r
+#: Rtl/Sys/SysConst.pas:138 \r
+msgid "July"
+msgstr "Julio"
+
+#. Programmer's name for it: SLongMonthNameAug\r
+#: Rtl/Sys/SysConst.pas:139 \r
+msgid "August"
+msgstr "Agosto"
+
+#. Programmer's name for it: SLongMonthNameSep\r
+#: Rtl/Sys/SysConst.pas:140 \r
+msgid "September"
+msgstr "Septiembre"
+
+#. Programmer's name for it: SLongMonthNameOct\r
+#: Rtl/Sys/SysConst.pas:141 \r
+msgid "October"
+msgstr "Octubre"
+
+#. Programmer's name for it: SLongMonthNameNov\r
+#: Rtl/Sys/SysConst.pas:142 \r
+msgid "November"
+msgstr "Noviembre"
+
+#. Programmer's name for it: SLongMonthNameDec\r
+#: Rtl/Sys/SysConst.pas:143 \r
+msgid "December"
+msgstr "Diciembre"
+
+#. Programmer's name for it: SShortDayNameSun\r
+#: Rtl/Sys/SysConst.pas:145 \r
+msgid "Sun"
+msgstr "Dom"
+
+#. Programmer's name for it: SShortDayNameMon\r
+#: Rtl/Sys/SysConst.pas:146 \r
+msgid "Mon"
+msgstr "Lun"
+
+#. Programmer's name for it: SShortDayNameTue\r
+#: Rtl/Sys/SysConst.pas:147 \r
+msgid "Tue"
+msgstr "Mar"
+
+#. Programmer's name for it: SShortDayNameWed\r
+#: Rtl/Sys/SysConst.pas:148 \r
+msgid "Wed"
+msgstr "Mie"
+
+#. Programmer's name for it: SShortDayNameThu\r
+#: Rtl/Sys/SysConst.pas:149 \r
+msgid "Thu"
+msgstr "Jue"
+
+#. Programmer's name for it: SShortDayNameFri\r
+#: Rtl/Sys/SysConst.pas:150 \r
+msgid "Fri"
+msgstr "Vie"
+
+#. Programmer's name for it: SShortDayNameSat\r
+#: Rtl/Sys/SysConst.pas:151 \r
+msgid "Sat"
+msgstr "Sab"
+
+#. Programmer's name for it: SLongDayNameSun\r
+#: Rtl/Sys/SysConst.pas:153 \r
+msgid "Sunday"
+msgstr "Domingo"
+
+#. Programmer's name for it: SLongDayNameMon\r
+#: Rtl/Sys/SysConst.pas:154 \r
+msgid "Monday"
+msgstr "Lunes"
+
+#. Programmer's name for it: SLongDayNameTue\r
+#: Rtl/Sys/SysConst.pas:155 \r
+msgid "Tuesday"
+msgstr "Martes"
+
+#. Programmer's name for it: SLongDayNameWed\r
+#: Rtl/Sys/SysConst.pas:156 \r
+msgid "Wednesday"
+msgstr "Miércoles"
+
+#. Programmer's name for it: SLongDayNameThu\r
+#: Rtl/Sys/SysConst.pas:157 \r
+msgid "Thursday"
+msgstr "Jueves"
+
+#. Programmer's name for it: SLongDayNameFri\r
+#: Rtl/Sys/SysConst.pas:158 \r
+msgid "Friday"
+msgstr "Viernes"
+
+#. Programmer's name for it: SLongDayNameSat\r
+#: Rtl/Sys/SysConst.pas:159 \r
+msgid "Saturday"
+msgstr "Sábado"
+
+#. Programmer's name: FONT 8\r
+#. formAbout..Font.Name\r
+#. formAbout..lblCopyright..Font.Name\r
+#. formAbout..lblPleaseVisitUs..Font.Name\r
+#. formAbout..lblURL..Font.Name\r
+#. IdPropEdBindingEntry..Font.Name\r
+#. formAbout..Font.Name\r
+#. formAbout..Panel1..lblPleaseVisitUs..Font.Name\r
+#. formAbout..Panel1..lblURL..Font.Name\r
+#. formAbout..Panel2..lblCopyright..Font.Name\r
+#. frmNewMessagePart..Font.Name\r
+#. IdPropEdBindingEntry..Font.Name\r
+#. Form1..Font.Name\r
+#. LogDetailFrame..ActionList1..FontEdit1..Dialog.Font.Name\r
+#. AboutBox..DetailsPanel..Copyright..Font.Name\r
+#. AboutBox..DetailsPanel..Version..Font.Name\r
+#. AboutBox..DetailsPanel..SKUName..Font.Name\r
+#. AboutBox..DetailsPanel..CompanyName..Font.Name\r
+#. StandardActions..ActionList1..FontEdit1..Dialog.Font.Name\r
+#. frmGeneratorEditor..Font.Name\r
+#. frmIBRestoreEditor..Font.Name\r
+#. frmIBSecurityEditor..Font.Name\r
+#. frmIBServiceEditor..Font.Name\r
+#: Vcl/ExtDlgs.rc:14 \r Indy/IdAbout.xfm:20 Indy/IdAbout.xfm:2805
+#: Indy/IdAbout.xfm:2844 Indy/IdAbout.xfm:2864 Indy/IdDsnPropEdBinding.xfm:15
+#: Indy/IdAbout.dfm:13 Indy/IdAbout.dfm:38 Indy/IdAbout.dfm:55
+#: Indy/IdAbout.dfm:100 Indy/IdDsnNewMessagePart.dfm:12
+#: Indy/IdDsnPropEdBinding.dfm:14 Internet/SvrInfoConsole.dfm:11
+#: Internet/SvrLogDetailFrame.dfm:54 Internet/WebAppDbgAbout.dfm:84
+#: Internet/WebAppDbgAbout.dfm:98 Internet/WebAppDbgAbout.dfm:112
+#: Internet/WebAppDbgAbout.dfm:301 Vcl/ActnRes.dfm:216
+#: Vcl/IBGeneratorEditor.dfm:12 Vcl/IBRestoreEditor.dfm:12
+#: Vcl/IBSecurityEditor.dfm:11 Vcl/IBServiceEditor.dfm:11
+msgid "MS Sans Serif"
+msgstr ""
+
+#. LoginDialog..Caption\r
+#: Clx/QDBLogDlg.xfm:7 \r Vcl/DBLOGDLG.dfm:6
+msgid "Database Login"
+msgstr "Entrada a la base de datos"
+
+#. LoginDialog..OKButton..Caption\r
+#. PasswordDialog..OKButton..Caption\r
+#. ClxStrEditDlg..OKButton..Caption\r
+#. InputReqDialog..OKButton..Caption\r
+#. DataBindForm..OkBtn..Caption\r
+#. StrEditDlg..OKButton..Caption\r
+#. UpdateSQLEditForm..OkButton..Caption\r
+#. LoginDialog..OKButton..Caption\r
+#. PasswordDialog..OKButton..Caption\r
+#: Clx/QDBLogDlg.xfm:20 \r Clx/QDBPWDlg.xfm:20 Property\r
+#: Editors/ClxStrEdit.xfm:42 Editors/dbinpreq.dfm:18 Editors/DbOleEdt.dfm:109
+#: Editors/StrEdit.dfm:39 Editors/UpdSqlEd.dfm:20 Vcl/DBLOGDLG.dfm:21
+#: Vcl/DbPWDlg.dfm:18
+msgid "&OK"
+msgstr "&Aceptar"
+
+#. LoginDialog..Panel..Label3..Caption\r
+#: Clx/QDBLogDlg.xfm:56 \r Vcl/DBLOGDLG.dfm:49
+msgid "Database:"
+msgstr "Base de datos:"
+
+#. LoginDialog..Panel..Panel1..Label1..Caption\r
+#. frmIBSecurityEditor..GroupBox1..Label2..Caption\r
+#. frmIBServiceEditor..GroupBox1..Label2..Caption\r
+#: Clx/QDBLogDlg.xfm:81 \r Vcl/DBLOGDLG.dfm:77 Vcl/IBSecurityEditor.dfm:136
+#: Vcl/IBServiceEditor.dfm:159
+msgid "&User Name:"
+msgstr "Nombre de &usuario: "
+
+#. LoginDialog..Panel..Panel1..Label2..Caption\r
+#: Clx/QDBLogDlg.xfm:91 \r Vcl/DBLOGDLG.dfm:85
+msgid "&Password:"
+msgstr "&Contraseña: "
+
+#. PasswordDialog..Caption\r
+#: Clx/QDBPWDlg.xfm:7 \r Vcl/DbPWDlg.dfm:6
+msgid "Enter password"
+msgstr "Entrada de contraseña"
+
+#. PasswordDialog..GroupBox1..AddButton..Caption\r
+#. IdPropEdBindingEntry..btnAdd..Caption\r
+#. IdPropEdBindingEntry..actBndEditor..actAdd..Caption\r
+#. DSSQueryEditor..Pager..Dimensions..Label7..Caption\r
+#. IdPropEdBindingEntry..actBndEditor..actAdd..Caption\r
+#. CollectionEditor..ActionList1..AddCmd..Caption\r
+#. LinkFields..AddButton..Caption\r
+#. PasswordDialog..GroupBox1..AddButton..Caption\r
+#. SocketForm..MainMenu1..miPorts..miAdd..Caption\r
+#: Clx/QDBPWDlg.xfm:57 \r Indy/IdDsnPropEdBinding.xfm:87
+#: Indy/IdDsnPropEdBinding.xfm:123 Decision\r Cube/MXDSSQRY.DFM:78
+#: Indy/IdDsnPropEdBinding.dfm:113 Property\r Editors/ColnEdit.dfm:189
+#: Editors/FldLinks.DFM:114 Vcl/DbPWDlg.dfm:56 Vcl/ScktMain.dfm:344
+msgid "&Add"
+msgstr ""
+
+#. PasswordDialog..GroupBox1..RemoveButton..Caption\r
+#. IdPropEdBindingEntry..btnRemove..Caption\r
+#. IdPropEdBindingEntry..actBndEditor..actRemove..Caption\r
+#. PasswordDialog..GroupBox1..RemoveButton..Caption\r
+#. SocketForm..ActionList1..RemovePortAction..Caption\r
+#: Clx/QDBPWDlg.xfm:67 \r Indy/IdDsnPropEdBinding.xfm:96
+#: Indy/IdDsnPropEdBinding.xfm:128 Indy/IdDsnPropEdBinding.dfm:118
+#: Vcl/DbPWDlg.dfm:66 Vcl/ScktMain.dfm:396
+msgid "&Remove"
+msgstr ""
+
+#. PasswordDialog..GroupBox1..RemoveAllButton..Caption\r
+#: Clx/QDBPWDlg.xfm:77 \r Vcl/DbPWDlg.dfm:76
+msgid "Re&move all"
+msgstr ""
+
+#. formAbout..Caption\r
+#: Indy/IdAbout.xfm:11 \r
+msgid "About Indy"
+msgstr "Acerca de Indy"
+
+#. formAbout..lblName..Font.Name\r
+#. formAbout..lblVersion..Font.Name\r
+#. formAbout..Panel2..lblVersion..Font.Name\r
+#. formAbout..Panel2..lblName..Font.Name\r
+#: Indy/IdAbout.xfm:2786 \r Indy/IdAbout.xfm:2825 Indy/IdAbout.dfm:117
+#: Indy/IdAbout.dfm:133
+msgid "Times New Roman"
+msgstr ""
+
+#. formAbout..lblURL..Caption\r
+#: Indy/IdAbout.xfm:2860 \r
+#, fuzzy
+msgid "http://www.nevrona.com/indy"
+msgstr "http://www.nevrona.com/indy/"
+
+#. formAbout..scbxCredits..panlScroll..lblJimGunkel..Caption\r
+#: Indy/IdAbout.xfm:2894 \r
+msgid "Jim Gunkel"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblJimGunkel..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblNevronaDesignsFour..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblKudzu..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblNevronaOne..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblHadi..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblNevronaTwo..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblAndrewPeeMee..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblCharlesStack..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblGregorIbic..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblIntelicomdoo..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblJPeterMugaas..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblNevronaThree..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblMarkHolmes..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblRuneMoberg..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblStephaneGrobety..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblDonSIders..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblAllenOneil..Font.Name\r
+#: Indy/IdAbout.xfm:2898 \r Indy/IdAbout.xfm:2918 Indy/IdAbout.xfm:2957
+#: Indy/IdAbout.xfm:2977 Indy/IdAbout.xfm:3016 Indy/IdAbout.xfm:3036
+#: Indy/IdAbout.xfm:3076 Indy/IdAbout.xfm:3096 Indy/IdAbout.xfm:3116
+#: Indy/IdAbout.xfm:3136 Indy/IdAbout.xfm:3156 Indy/IdAbout.xfm:3176
+#: Indy/IdAbout.xfm:3196 Indy/IdAbout.xfm:3216 Indy/IdAbout.xfm:3236
+#: Indy/IdAbout.xfm:3276 Indy/IdAbout.xfm:3316
+msgid "Courier New"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblNevronaDesignsFour..Caption\r
+#. formAbout..scbxCredits..panlScroll..lblNevronaOne..Caption\r
+#. formAbout..scbxCredits..panlScroll..lblNevronaTwo..Caption\r
+#. formAbout..scbxCredits..panlScroll..lblNevronaThree..Caption\r
+#: Indy/IdAbout.xfm:2914 \r Indy/IdAbout.xfm:2973 Indy/IdAbout.xfm:3032
+#: Indy/IdAbout.xfm:3172
+msgid "Nevrona Designs"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lbCoordinator..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lbCoCordinator..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblIndyPitCrew..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblDocumentCoordinator..Font.Name\r
+#. formAbout..scbxCredits..panlScroll..lblProgramsCoordinator..Font.Name\r
+#: Indy/IdAbout.xfm:2937 \r Indy/IdAbout.xfm:2996 Indy/IdAbout.xfm:3056
+#: Indy/IdAbout.xfm:3256 Indy/IdAbout.xfm:3296
+#, fuzzy
+msgid "Arial"
+msgstr "Abril"
+
+#. formAbout..scbxCredits..panlScroll..lblKudzu..Caption\r
+#: Indy/IdAbout.xfm:2953 \r
+msgid "Kudzu (Chad Z. Hower)"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblHadi..Caption\r
+#: Indy/IdAbout.xfm:3012 \r
+msgid "Hadi Hariri"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblIndyPitCrew..Caption\r
+#: Indy/IdAbout.xfm:3052 \r
+msgid "The Indy Crew"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblAndrewPeeMee..Caption\r
+#: Indy/IdAbout.xfm:3072 \r
+msgid "Andrew Peter Mee"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblCharlesStack..Caption\r
+#: Indy/IdAbout.xfm:3092 \r
+msgid "Charles Stack"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblGregorIbic..Caption\r
+#: Indy/IdAbout.xfm:3112 \r
+msgid "Gregor Ibic"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblIntelicomdoo..Caption\r
+#: Indy/IdAbout.xfm:3132 \r
+msgid "Intelicom d.o.o."
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblJPeterMugaas..Caption\r
+#: Indy/IdAbout.xfm:3152 \r
+msgid "J. Peter Mugaas"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblMarkHolmes..Caption\r
+#: Indy/IdAbout.xfm:3192 \r
+msgid "Mark Holmes"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblRuneMoberg..Caption\r
+#: Indy/IdAbout.xfm:3212 \r
+msgid "Rune Moberg"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblDocumentCoordinator..Caption\r
+#: Indy/IdAbout.xfm:3252 \r
+msgid "Documentation Coordinator"
+msgstr "Coordinador de la documentación"
+
+#. formAbout..scbxCredits..panlScroll..lblDonSIders..Caption\r
+#: Indy/IdAbout.xfm:3272 \r
+msgid "Don Siders"
+msgstr ""
+
+#. formAbout..scbxCredits..panlScroll..lblProgramsCoordinator..Caption\r
+#: Indy/IdAbout.xfm:3292 \r
+msgid "Demo Programs Coordinator"
+msgstr "Coordinador de los programas demo"
+
+#. formAbout..scbxCredits..panlScroll..lblAllenOneil..Caption\r
+#: Indy/IdAbout.xfm:3312 \r
+msgid "Allen O'Neill"
+msgstr ""
+
+#. IdPropEdBindingEntry..Caption\r
+#: Indy/IdDsnPropEdBinding.xfm:6 \r Indy/IdDsnPropEdBinding.dfm:5
+msgid "Binding Editor"
+msgstr ""
+
+#. IdPropEdBindingEntry..Label1..Caption\r
+#: Indy/IdDsnPropEdBinding.xfm:28 \r Indy/IdDsnPropEdBinding.dfm:25
+msgid "Bindings"
+msgstr ""
+
+#. IdPropEdBindingEntry..Label2..Caption\r
+#. SocketForm..Pages..StatPage..ConnectionList......Caption\r
+#: Indy/IdDsnPropEdBinding.xfm:36 \r Indy/IdDsnPropEdBinding.dfm:32
+#: Vcl/ScktMain.dfm:252
+msgid "IP Address"
+msgstr "Dirección IP"
+
+#. IdPropEdBindingEntry..Label3..Caption\r
+#. WebAppDbgMainForm..Port..Caption\r
+#. SocketForm..Pages..PropPage..PortGroup..Caption\r
+#. SocketForm..Pages..StatPage..ConnectionList......Caption\r
+#. SocketForm..Panel1..HeaderControl1......Text\r
+#: Indy/IdDsnPropEdBinding.xfm:44 \r Indy/IdDsnPropEdBinding.dfm:39
+#: Internet/SvrMainForm.dfm:57 Vcl/ScktMain.dfm:38 Vcl/ScktMain.dfm:248
+#: Vcl/ScktMain.dfm:310
+msgid "Port"
+msgstr ""
+
+#. ClxIconViewItemsEditor..Caption\r
+#: Property\r Editors/ClxIconEdit.xfm:7 \r
+msgid "IconView Items Editor"
+msgstr ""
+
+#. ClxIconViewItemsEditor..GroupBox1..Caption\r
+#. ClxListViewItems..GroupBox1..Caption\r
+#. ClxTreeViewItems..GroupBox1..Caption\r
+#: Property\r Editors/ClxIconEdit.xfm:22 \r Editors/ClxItemEdit.xfm:22
+#: Editors/ClxNodeEdit.xfm:22
+msgid "&Items"
+msgstr ""
+
+#. ClxIconViewItemsEditor..GroupBox1..New..Caption\r
+#. ClxListViewItems..GroupBox1..New..Caption\r
+#: Property\r Editors/ClxIconEdit.xfm:30 \r Editors/ClxItemEdit.xfm:30
+msgid "&New Item"
+msgstr ""
+
+#. ClxIconViewItemsEditor..GroupBox1..Delete..Caption\r
+#. ClxImageListEditor..GroupBox1..Delete..Caption\r
+#. ClxListViewItems..GroupBox1..Delete..Caption\r
+#. ClxTreeViewItems..GroupBox1..Delete..Caption\r
+#. CollectionEditor..ActionList1..DeleteCmd..Caption\r
+#. DataBindForm..Panel1..DeleteBtn..Caption\r
+#. FieldsEditor..LocalMenu..DeleteItem..Caption\r
+#. LinkFields..DeleteButton..Caption\r
+#. IndexFiles..GroupBox1..Delete..Caption\r
+#. StandardActions..ActionList1..EditDelete1..Caption\r
+#: Property\r Editors/ClxIconEdit.xfm:41 \r Editors/ClxImgEdit.xfm:184
+#: Editors/ClxItemEdit.xfm:41 Editors/ClxNodeEdit.xfm:41
+#: Editors/ColnEdit.dfm:196 Editors/DbOleEdt.dfm:90 Editors/DSDesign.dfm:159
+#: Editors/FldLinks.DFM:123 Editors/Ixedit.dfm:43 Vcl/ActnRes.dfm:66
+msgid "&Delete"
+msgstr ""
+
+#. ClxIconViewItemsEditor..PropGroupBox..Caption\r
+#. ClxListViewItems..PropGroupBox..Caption\r
+#. ClxTreeViewItems..PropGroupBox..Caption\r
+#: Property\r Editors/ClxIconEdit.xfm:69 \r Editors/ClxItemEdit.xfm:79
+#: Editors/ClxNodeEdit.xfm:89
+msgid "Item Properties"
+msgstr ""
+
+#. ClxIconViewItemsEditor..PropGroupBox..Label1..Caption\r
+#. ClxListViewItems..PropGroupBox..Label1..Caption\r
+#: Property\r Editors/ClxIconEdit.xfm:77 \r Editors/ClxItemEdit.xfm:87
+msgid "&Caption:"
+msgstr ""
+
+#. ClxIconViewItemsEditor..PropGroupBox..Label2..Caption\r
+#. ClxListViewItems..PropGroupBox..Label2..Caption\r
+#. ClxTreeViewItems..PropGroupBox..Label2..Caption\r
+#: Property\r Editors/ClxIconEdit.xfm:87 \r Editors/ClxItemEdit.xfm:96
+#: Editors/ClxNodeEdit.xfm:105
+msgid "I&mage Index:"
+msgstr ""
+
+#. ClxIconViewItemsEditor..Apply..Caption\r
+#. ClxListViewItems..Apply..Caption\r
+#. ClxTreeViewItems..Apply..Caption\r
+#. SocketForm..ActionList1..ApplyAction..Caption\r
+#: Property\r Editors/ClxIconEdit.xfm:143 \r Editors/ClxItemEdit.xfm:169
+#: Editors/ClxNodeEdit.xfm:179 Vcl/ScktMain.dfm:381
+msgid "&Apply"
+msgstr ""
+
+#. ClxImageListEditor..Caption\r
+#: Property\r Editors/ClxImgEdit.xfm:10 \r
+msgid "ImageList Editor"
+msgstr ""
+
+#. ClxImageListEditor..ImageGroup..Caption\r
+#: Property\r Editors/ClxImgEdit.xfm:50 \r
+msgid " &Selected Image "
+msgstr ""
+
+#. ClxImageListEditor..ImageGroup..TransparentLabel..Caption\r
+#: Property\r Editors/ClxImgEdit.xfm:58 \r
+msgid "&Transparent Color:"
+msgstr ""
+
+#. ClxImageListEditor..ImageGroup..FillLabel..Caption\r
+#: Property\r Editors/ClxImgEdit.xfm:67 \r
+msgid "&Fill Color:"
+msgstr ""
+
+#. ClxImageListEditor..ImageGroup..OptionsGroup....Items.Strings\r
+#: Property\r Editors/ClxImgEdit.xfm:79 \r
+msgid ""
+"Cr&op\n"
+"St&retch\n"
+"C&enter\n"
+msgstr ""
+
+#. ClxImageListEditor..ImageGroup..OptionsGroup..Caption\r
+#. DBEditForm..GroupBox3..Caption\r
+#: Property\r Editors/ClxImgEdit.xfm:80 \r Editors/Dbedit.dfm:116
+msgid " Options "
+msgstr ""
+
+#. ClxImageListEditor..Apply..Caption\r
+#: Property\r Editors/ClxImgEdit.xfm:133 \r
+msgid "A&pply"
+msgstr ""
+
+#. ClxImageListEditor..GroupBox1..Caption\r
+#: Property\r Editors/ClxImgEdit.xfm:153 \r
+msgid " &Images "
+msgstr ""
+
+#. ClxImageListEditor..GroupBox1..Add..Caption\r
+#. IndexFiles..GroupBox1..Add..Caption\r
+#: Property\r Editors/ClxImgEdit.xfm:174 \r Editors/Ixedit.dfm:34
+msgid "&Add..."
+msgstr ""
+
+#. ClxImageListEditor..GroupBox1..Clear..Caption\r
+#. Caption\r
+#. ClxStrEditDlg..PopupMenu1..Clear1..Caption\r
+#. LogFrame..ActionList1..ClearAction..Caption\r
+#. WebAppDbgMainForm..ActionList1..ClearAction..Caption\r
+#. DBEditForm..GroupBox1..ClearButton..Caption\r
+#. LinkFields..ClearButton..Caption\r
+#. IndexFiles..GroupBox1..Clear..Caption\r
+#. PictureEditorDlg..GroupBox1..Clear..Caption\r
+#: Property\r Editors/ClxImgEdit.xfm:195 \r Editors/ClxPicEdit.xfm:93
+#: Editors/ClxStrEdit.xfm:115 Internet/SvrLogFrame.dfm:40
+#: Internet/SvrMainForm.dfm:166 Editors/Dbedit.dfm:99 Editors/FldLinks.DFM:132
+#: Editors/Ixedit.dfm:53 Editors/PicEdit.dfm:94
+msgid "&Clear"
+msgstr ""
+
+#. ClxImageListEditor..GroupBox1..ExportBtn..Caption\r
+#: Property\r Editors/ClxImgEdit.xfm:206 \r
+msgid "E&xport..."
+msgstr "E&xportar..."
+
+#. ClxImageListEditor..OpenDialog..DefaultExt\r
+#. ClxImageListEditor..SaveDialog..DefaultExt\r
+#: Property\r Editors/ClxImgEdit.xfm:215 \r Editors/ClxImgEdit.xfm:227
+msgid "bmp"
+msgstr "bmp"
+
+#. ClxImageListEditor..OpenDialog....DefaultExt\r
+#: Property\r Editors/ClxImgEdit.xfm:219 \r
+msgid ""
+"All (*.bmp; *.ico; *.png; *.xpm)|Bitmaps (*.bmp)|Icons (*.ico)|PNG's (*.png)|"
+"X Pixmaps (*.xpm)\n"
+msgstr ""
+
+#. ClxImageListEditor..OpenDialog..Title\r
+#: Property\r Editors/ClxImgEdit.xfm:220 \r
+msgid "Add Images"
+msgstr ""
+
+#. ClxImageListEditor..SaveDialog..Filter\r
+#: Property\r Editors/ClxImgEdit.xfm:228 \r
+msgid "Bitmaps (*.bmp)"
+msgstr "Mapas de bits (*.bmp)"
+
+#. ClxImageListEditor..SaveDialog..Title\r
+#: Property\r Editors/ClxImgEdit.xfm:230 \r
+msgid "Export Images"
+msgstr "Exportar imágenes"
+
+#. ClxListViewItems..Caption\r
+#: Property\r Editors/ClxItemEdit.xfm:7 \r
+msgid "ListView Items Editor"
+msgstr ""
+
+#. ClxListViewItems..GroupBox1..NewSub..Caption\r
+#: Property\r Editors/ClxItemEdit.xfm:51 \r
+msgid "N&ew SubItem"
+msgstr ""
+
+#. ClxListViewItems..PropGroupBox..Label3..Caption\r
+#: Property\r Editors/ClxItemEdit.xfm:105 \r
+msgid "&State Index:"
+msgstr ""
+
+#. ClxTreeViewItems..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:8 \r
+msgid "TreeView Items Editor"
+msgstr ""
+
+#. ClxTreeViewItems..GroupBox1..New..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:30 \r
+msgid "&New Node"
+msgstr ""
+
+#. ClxTreeViewItems..GroupBox1..NewSub..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:51 \r
+msgid "N&ew SubNode"
+msgstr ""
+
+#. ClxTreeViewItems..GroupBox1..Load..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:61 \r
+msgid "&Load"
+msgstr ""
+
+#. ClxTreeViewItems..PropGroupBox..Label1..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:96 \r
+msgid "&Text:"
+msgstr ""
+
+#. ClxTreeViewItems..PropGroupBox..Label4..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:114 \r
+msgid "&Selected Index:"
+msgstr ""
+
+#. ClxTreeViewItems..gbSubItems..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:199 \r
+msgid "Sub Items"
+msgstr ""
+
+#. ClxTreeViewItems..gbSubItems..btnAddSub..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:216 \r
+msgid "Add SubItem"
+msgstr ""
+
+#. ClxTreeViewItems..gbSubItemProps..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:237 \r
+msgid "Sub Item Properties"
+msgstr ""
+
+#. ClxTreeViewItems..gbSubItemProps..lblSubText..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:264 \r
+msgid "Text:"
+msgstr ""
+
+#. ClxTreeViewItems..gbSubItemProps..lblSubImgIndex..Caption\r
+#: Property\r Editors/ClxNodeEdit.xfm:272 \r
+msgid "Image Index:"
+msgstr ""
+
+#. ClxTreeViewItems..OpenDialog1..Filter\r
+#: Property\r Editors/ClxNodeEdit.xfm:277 \r
+msgid "All Files(*)"
+msgstr ""
+
+#. ClxPictureEditorDlg..Caption\r
+#. PictureEditorDlg..Caption\r
+#: Property\r Editors/ClxPicEdit.xfm:9 \r Editors/PicEdit.dfm:6
+msgid "Picture Editor"
+msgstr ""
+
+#. Caption\r
+#. ClxStrEditDlg..PopupMenu1..Load1..Caption\r
+#. PictureEditorDlg..GroupBox1..Load..Caption\r
+#. StrEditDlg..StringEditorMenu..LoadItem..Caption\r
+#: Property\r Editors/ClxPicEdit.xfm:73 \r Editors/ClxStrEdit.xfm:105
+#: Editors/PicEdit.dfm:76 Editors/StrEdit.dfm:76
+msgid "&Load..."
+msgstr ""
+
+#. Caption\r
+#. ClxStrEditDlg..PopupMenu1..Save1..Caption\r
+#. PictureEditorDlg..GroupBox1..Save..Caption\r
+#. StrEditDlg..StringEditorMenu..SaveItem..Caption\r
+#: Property\r Editors/ClxPicEdit.xfm:83 \r Editors/ClxStrEdit.xfm:110
+#: Editors/PicEdit.dfm:85 Editors/StrEdit.dfm:80
+msgid "&Save..."
+msgstr ""
+
+#. ClxStrEditDlg..Caption\r
+#: Property\r Editors/ClxStrEdit.xfm:10 \r
+msgid "String list editor"
+msgstr ""
+
+#. ClxStrEditDlg..LineCount..Caption\r
+#. StringsEditDlg..LineCount..Caption\r
+#: Property\r Editors/ClxStrEdit.xfm:33 \r Editors/StringsEdit.dfm:13
+msgid "0 lines"
+msgstr ""
+
+#. ClxStrEditDlg..OpenDialog....HelpContext\r
+#. ClxStrEditDlg..SaveDialog....DefaultExt\r
+#: Property\r Editors/ClxStrEdit.xfm:85 \r Editors/ClxStrEdit.xfm:96
+msgid ""
+"Text files (*.txt)|Config files (*.conf)|Shell scripts (*.sh)|All files (*)\n"
+msgstr ""
+
+#. ClxStrEditDlg..OpenDialog..Title\r
+#. StrEditDlg..OpenDialog..Title\r
+#: Property\r Editors/ClxStrEdit.xfm:85 \r Editors/StrEdit.dfm:61
+msgid "Load string list"
+msgstr ""
+
+#. ClxStrEditDlg..SaveDialog..DefaultExt\r
+#: Property\r Editors/ClxStrEdit.xfm:92 \r
+msgid "txt"
+msgstr "txt"
+
+#. ClxStrEditDlg..SaveDialog..Title\r
+#. StrEditDlg..SaveDialog..Title\r
+#: Property\r Editors/ClxStrEdit.xfm:97 \r Editors/StrEdit.dfm:70
+msgid "Save string list"
+msgstr ""
+
+#. DSSCubeEditor..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:6 \r
+msgid "Decision Cube Editor"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:27 \r
+msgid "Dimension Settings"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..CaptionLabel..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:34 \r
+msgid "Display &Name"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..ActiveLabel..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:43 \r
+msgid "&Active Type"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..BinLabel..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:52 \r
+msgid "&Grouping"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..StartLabel..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:61 \r
+msgid "&Initial Value"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..TypeLabel..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:70 \r
+msgid "&Type"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..Label1..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:79 \r
+msgid "Available &Fields"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..Label2..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:88 \r
+msgid "For&mat"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..BaseNameLabel..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:105 \r
+msgid "&Base Field"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..CaptionEdit..Text\r
+#: Decision\r Cube/MXDCUBE.DFM:125 \r
+msgid "CaptionEdit"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..ActiveEdit..Hint\r
+#: Decision\r Cube/MXDCUBE.DFM:133 \r
+msgid "Control of when the information for this field is loaded"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..ActiveEdit..Text\r
+#: Decision\r Cube/MXDCUBE.DFM:138 \r
+msgid "ActiveEdit"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..ActiveEdit....Items.Strings\r
+#: Decision\r Cube/MXDCUBE.DFM:144 \r
+msgid ""
+"Active\n"
+"As Needed\n"
+"Inactive\n"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..BinEdit..Hint\r
+#: Decision\r Cube/MXDCUBE.DFM:150 \r
+msgid "Group values for this field into ranges"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..BinEdit..Text\r
+#: Decision\r Cube/MXDCUBE.DFM:155 \r
+msgid "BinEdit"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..BinEdit....Items.Strings\r
+#: Decision\r Cube/MXDCUBE.DFM:163 \r
+msgid ""
+"None\n"
+"Year\n"
+"Quarter\n"
+"Month\n"
+"Single Value\n"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..TypeEdit..Text\r
+#: Decision\r Cube/MXDCUBE.DFM:173 \r
+msgid "TypeEdit"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..TypeEdit....Items.Strings\r
+#: Decision\r Cube/MXDCUBE.DFM:184 \r
+msgid ""
+"Dimension\n"
+"Sum\n"
+"Count\n"
+"Average\n"
+"Min\n"
+"Max\n"
+"GenericAgg\n"
+"Unknown\n"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..FormatEdit..Text\r
+#: Decision\r Cube/MXDCUBE.DFM:193 \r
+msgid "FormatEdit"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..StartEdit....Height\r
+#: Decision\r Cube/MXDCUBE.DFM:204 \r
+msgid ""
+"Starting value for date ranges, Intial value for single valued dimensions\n"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..BaseNameEdit....Height\r
+#: Decision\r Cube/MXDCUBE.DFM:217 \r
+msgid ""
+"Fieldname (for a summary, the original field used to calculate the summary)\n"
+msgstr ""
+
+#. DSSCubeEditor..Pager..DimensionInfo..BaseNameEdit..Text\r
+#: Decision\r Cube/MXDCUBE.DFM:220 \r
+msgid "BaseNameEdit"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:226 \r
+msgid "Memory Control"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..Panel1..Hint\r
+#: Decision\r Cube/MXDCUBE.DFM:232 \r
+msgid "Control whether to load the decision cube at design time"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..Panel1..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:233 \r
+msgid "Designer Data Options"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..Panel1..RadioMetaData..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:242 \r
+msgid "Display Dimension &Names"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..Panel1..RadioDimensionData..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:253 \r
+msgid "Display Names and &Values"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..Panel1..RadioAllData..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:262 \r
+msgid "Display Names, Values, and &Totals"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..Panel1..RadioNoData..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:271 \r
+msgid "&Run Time Display Only"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:281 \r
+msgid "Cube Maximums"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..Label4..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:307 \r
+msgid "Active"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..Label7..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:315 \r
+msgid "Active+Needed"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..Label9..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:323 \r
+msgid "&Dimensions"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..Label6..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:351 \r
+msgid "&Summaries"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..Label12..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:361 \r
+msgid "&Cells"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..Label5..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:379 \r
+msgid "Maximum"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..Label3..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:387 \r
+msgid "Current"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..MaxDims....Height\r
+#: Decision\r Cube/MXDCUBE.DFM:424 \r
+msgid "Limit on the number of dimensions which can be loaded at one time\n"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..MaxSums..Hint\r
+#: Decision\r Cube/MXDCUBE.DFM:433 \r
+msgid "Limit on the number of summaries which can be loaded at one time"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..MaxCells....Height\r
+#: Decision\r Cube/MXDCUBE.DFM:446 \r
+msgid "Limit on the number of storage cells which can be loaded at one time\n"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..GetCellCounts..Hint\r
+#: Decision\r Cube/MXDCUBE.DFM:455 \r
+msgid "Run a query to fetch information required to estimate cell usage"
+msgstr ""
+
+#. DSSCubeEditor..Pager..MemoryControl..CubeLimits..GetCellCounts..Caption\r
+#: Decision\r Cube/MXDCUBE.DFM:456 \r
+msgid "&Get Cell Counts"
+msgstr ""
+
+#. DimEditor..Caption\r
+#. FieldsEditor..Caption\r
+#: Decision\r Cube/MXDESIGN.DFM:6 \r Cube/MXDIMEDT.DFM:7 Property\r
+#: Editors/DSDesign.dfm:8
+msgid "Form1.Table1"
+msgstr ""
+
+#. SQLWindow..Caption\r
+#: Decision\r Cube/MXDSQL.DFM:6 \r
+msgid "Form2"
+msgstr ""
+
+#. SQLWindow..Memo1....Lines.Strings\r
+#. LogDetailFrame..Memo1....Lines.Strings\r
+#: Decision\r Cube/MXDSQL.DFM:32 \r Internet/SvrLogDetailFrame.dfm:18
+msgid "Memo1\n"
+msgstr ""
+
+#. DSSQueryEditor..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:6 \r
+msgid "Decision Query Editor"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Dimensions..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:25 \r
+msgid "Dimensions/Summaries"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Dimensions..Label2..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:32 \r
+msgid "&Dimensions:"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Dimensions..Label3..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:41 \r
+msgid "&Summaries:"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Dimensions..Label4..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:50 \r
+msgid "&List of Available Fields:"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Dimensions..Label5..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:59 \r
+msgid "&Table:"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Dimensions..Label6..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:68 \r
+msgid "Databas&e:"
+msgstr "Bas&e de datos"
+
+#. DSSQueryEditor..Pager..Dimensions..SelectAllFields..Hint\r
+#: Decision\r Cube/MXDSSQRY.DFM:131 \r
+msgid "List all fields or List only the fields in the query"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Dimensions..SelectAllFields..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:132 \r
+msgid "All &Fields"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Dimensions..TableCombo..Hint\r
+#: Decision\r Cube/MXDSSQRY.DFM:143 \r
+msgid "Start a new query using a table from the database"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Dimensions..CountStarAvg..Hint\r
+#: Decision\r Cube/MXDSSQRY.DFM:253 \r
+msgid "Use count(*) to calculate averages (counts null values)"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Dimensions..CountStarAvg..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:254 \r
+msgid "Count (*) for Averages"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Query..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:263 \r
+msgid "SQL Query"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Query..Label1..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:270 \r
+msgid "&Query Text:"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Query..CancelQryMod..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:289 \r
+msgid "&Cancel Edit"
+msgstr ""
+
+#. DSSQueryEditor..Pager..Query..EditQry..Hint\r
+#: Decision\r Cube/MXDSSQRY.DFM:298 \r
+msgid "Type in the query directly"
+msgstr ""
+
+#. DSSQueryEditor..VQB..Hint\r
+#: Decision\r Cube/MXDSSQRY.DFM:342 \r
+msgid "Add/Join Tables and Create Field List with SQL Builder"
+msgstr ""
+
+#. DSSQueryEditor..VQB..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:343 \r
+msgid "SQL &Builder ..."
+msgstr "Constructor S&QL..."
+
+#. DSSQueryEditor..AggPopup..count1..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:353 \r
+msgid "&sum"
+msgstr ""
+
+#. DSSQueryEditor..AggPopup..count2..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:357 \r
+msgid "&count"
+msgstr ""
+
+#. DSSQueryEditor..AggPopup..average1..Caption\r
+#: Decision\r Cube/MXDSSQRY.DFM:361 \r
+msgid "&average"
+msgstr ""
+
+#. ProgressDialog..Caption\r
+#: Decision\r Cube/MXPBAR.DFM:6 \r
+msgid "ProgressDialog"
+msgstr ""
+
+#. ProgressDialog..CancelButton..Caption\r
+#. DataBindForm..CancelBtn..Caption\r
+#: Decision\r Cube/MXPBAR.DFM:29 \r Property\r Editors/DbOleEdt.dfm:119
+msgid "&Cancel"
+msgstr ""
+
+#. ProgressDialog..StatusText..Caption\r
+#: Decision\r Cube/MXPBAR.DFM:40 \r
+msgid "StatusText"
+msgstr ""
+
+#. formAbout..Caption\r
+#: Indy/IdAbout.dfm:6 \r
+msgid "formAbout"
+msgstr "Referencia"
+
+#. frmNewMessagePart..Caption\r
+#: Indy/IdDsnNewMessagePart.dfm:5 \r
+msgid "New Message Part"
+msgstr "&Nueva parte del mensaje"
+
+#. frmNewMessagePart..Panel2..btnOk..Caption\r
+#: Indy/IdDsnNewMessagePart.dfm:31 \r
+msgid "Ok"
+msgstr ""
+
+#. frmNewMessagePart..lbTypes....Items.Strings\r
+#: Indy/IdDsnNewMessagePart.dfm:59 \r
+msgid ""
+"Attachment\n"
+"Text\n"
+msgstr ""
+
+#. StubActionModule......Name\r
+#. WebModule2......Name\r
+#: Internet/StubAction.dfm:6 \r Internet/SvrInfoModule.dfm:6
+msgid "WebActionItem1"
+msgstr ""
+
+#. Form1..Caption\r
+#: Internet/SvrInfoConsole.dfm:6 \r
+msgid "ServerInfo"
+msgstr ""
+
+#. WebModule2......PathInfo\r
+#: Internet/SvrInfoModule.dfm:7 \r
+msgid "/List"
+msgstr "/List"
+
+#. WebModule2......Name\r
+#: Internet/SvrInfoModule.dfm:11 \r
+msgid "WebActionItem2"
+msgstr ""
+
+#. WebModule2......PathInfo\r
+#: Internet/SvrInfoModule.dfm:12 \r
+msgid "/Clean"
+msgstr "/Clean"
+
+#. WebModule2......Name\r
+#: Internet/SvrInfoModule.dfm:16 \r
+msgid "WebActionItem3"
+msgstr ""
+
+#. WebModule2......PathInfo\r
+#: Internet/SvrInfoModule.dfm:17 \r
+msgid "/Details"
+msgstr "/Details"
+
+#. WebModule2..PageProducerSelect......HTMLDoc.Strings\r
+#: Internet/SvrInfoModule.dfm:71 \r
+msgid ""
+"<a>View List</a> | <a HREF=\"<#PATH>Details\">View Details</a>\n"
+msgstr ""
+"<a>View List</a> | <a HREF=\"<#PATH>Details\">View Details</a>\n"
+
+#. WebModule2..PageProducerSelect....HTMLDoc.Strings\r
+#: Internet/SvrInfoModule.dfm:71 \r
+msgid "<#LIST>"
+msgstr "<#LIST>"
+
+#. WebModule2..PageProducerSelect....HTMLDoc.Strings\r
+#. WebModule2..PageProducerDetails....HTMLDoc.Strings\r
+#: Internet/SvrInfoModule.dfm:72 \r Internet/SvrInfoModule.dfm:92
+msgid "</BODY>"
+msgstr "</BODY>"
+
+#. WebModule2..PageProducerSelect....HTMLDoc.Strings\r
+#. WebModule2..PageProducerDetails....HTMLDoc.Strings\r
+#: Internet/SvrInfoModule.dfm:73 \r Internet/SvrInfoModule.dfm:93
+msgid "</HTML>"
+msgstr "</HTML>"
+
+#. WebModule2..PageProducerSelect....HTMLDoc.Strings\r
+#. WebModule2..PageProducerDetails....HTMLDoc.Strings\r
+#: Internet/SvrInfoModule.dfm:74 \r Internet/SvrInfoModule.dfm:75
+#: Internet/SvrInfoModule.dfm:76 Internet/SvrInfoModule.dfm:94
+msgid " "
+msgstr ""
+
+#. WebModule2..PageProducerDetails......HTMLDoc.Strings\r
+#: Internet/SvrInfoModule.dfm:91 \r
+msgid "<a HREF=<#PATH>List>View List</a> | <a>View Details</a>\n"
+msgstr "<a HREF=<#PATH>List>View List</a> | <a>View Details</a>\n"
+
+#. WebModule2..PageProducerDetails....HTMLDoc.Strings\r
+#: Internet/SvrInfoModule.dfm:91 \r
+msgid "<#DETAILS>"
+msgstr "<#DETAILS>"
+
+#. LogDetail..Caption\r
+#: Internet/SvrLogDetailDlg.dfm:8 \r
+msgid "LogDetail"
+msgstr ""
+
+#. LogDetail..LogDetailFrame..cbTranslateText..Caption\r
+#: Internet/SvrLogDetailDlg.dfm:60 \r
+msgid "&Translate Post"
+msgstr ""
+
+#. LogDetail..ActionList1..PrevAction..Caption\r
+#. StandardActions..ActionList1..PreviousTab1..Caption\r
+#: Internet/SvrLogDetailDlg.dfm:70 \r Vcl/ActnRes.dfm:245
+msgid "&Previous"
+msgstr ""
+
+#. LogDetail..ActionList1..NextAction..Caption\r
+#. StandardActions..ActionList1..NextTab1..Caption\r
+#: Internet/SvrLogDetailDlg.dfm:75 \r Vcl/ActnRes.dfm:251
+msgid "&Next"
+msgstr ""
+
+#. LogDetailFrame..cbTranslateText..Caption\r
+#: Internet/SvrLogDetailFrame.dfm:30 \r
+msgid "&Translate Text"
+msgstr ""
+
+#. LogDetailFrame..cbWrapText..Caption\r
+#: Internet/SvrLogDetailFrame.dfm:40 \r
+msgid "&Wrap Text"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..FontEdit1..Category\r
+#. StandardActions..ActionList1..ColorSelect1..Category\r
+#. StandardActions..ActionList1..FontEdit1..Category\r
+#. StandardActions..ActionList1..OpenPicture1..Category\r
+#. StandardActions..ActionList1..SavePicture1..Category\r
+#. StandardActions..ActionList1..PrintDlg1..Category\r
+#. CustomizeFrm..ActionList1..CloseActn..Category\r
+#: Internet/SvrLogDetailFrame.dfm:49 \r Vcl/ActnRes.dfm:205 Vcl/ActnRes.dfm:211
+#: Vcl/ActnRes.dfm:223 Vcl/ActnRes.dfm:229 Vcl/ActnRes.dfm:305
+#: Vcl/CustomizeDlg.dfm:392
+msgid "Dialog"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..FontEdit1..Caption\r
+#. StandardActions..ActionList1..FontEdit1..Caption\r
+#: Internet/SvrLogDetailFrame.dfm:50 \r Vcl/ActnRes.dfm:212
+msgid "Select &Font..."
+msgstr ""
+
+#. LogDetailFrame..ActionList1..FontEdit1..Hint\r
+#. StandardActions..ActionList1..FontEdit1..Hint\r
+#: Internet/SvrLogDetailFrame.dfm:58 \r Vcl/ActnRes.dfm:220
+msgid "Font Select"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..EditCut1..Caption\r
+#. FieldsEditor..LocalMenu..CutItem..Caption\r
+#. StandardActions..ActionList1..EditCut1..Caption\r
+#: Internet/SvrLogDetailFrame.dfm:63 \r Property\r Editors/DSDesign.dfm:141
+#: Vcl/ActnRes.dfm:13
+msgid "Cu&t"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..EditCut1..Hint\r
+#. StandardActions..ActionList1..EditCut1..Hint\r
+#: Internet/SvrLogDetailFrame.dfm:64 \r Vcl/ActnRes.dfm:14
+msgid "Cut|Cuts the selection and puts it on the Clipboard"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..EditCopy1..Caption\r
+#. FieldsEditor..LocalMenu..CopyItem..Caption\r
+#. StandardActions..ActionList1..EditCopy1..Caption\r
+#: Internet/SvrLogDetailFrame.dfm:70 \r Property\r Editors/DSDesign.dfm:147
+#: Vcl/ActnRes.dfm:20
+msgid "&Copy"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..EditCopy1..Hint\r
+#. StandardActions..ActionList1..EditCopy1..Hint\r
+#: Internet/SvrLogDetailFrame.dfm:71 \r Vcl/ActnRes.dfm:21
+msgid "Copy|Copies the selection and puts it on the Clipboard"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..EditPaste1..Caption\r
+#. FieldsEditor..LocalMenu..PasteItem..Caption\r
+#. StandardActions..ActionList1..EditPaste1..Caption\r
+#: Internet/SvrLogDetailFrame.dfm:77 \r Property\r Editors/DSDesign.dfm:153
+#: Vcl/ActnRes.dfm:27
+msgid "&Paste"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..EditPaste1..Hint\r
+#. StandardActions..ActionList1..EditPaste1..Hint\r
+#: Internet/SvrLogDetailFrame.dfm:78 \r Vcl/ActnRes.dfm:28
+msgid "Paste|Inserts Clipboard contents"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..EditSelectAll1..Caption\r
+#. StandardActions..ActionList1..EditSelectAll1..Caption\r
+#: Internet/SvrLogDetailFrame.dfm:84 \r Vcl/ActnRes.dfm:73
+msgid "Select &All"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..EditSelectAll1..Hint\r
+#. StandardActions..ActionList1..EditSelectAll1..Hint\r
+#: Internet/SvrLogDetailFrame.dfm:85 \r Vcl/ActnRes.dfm:74
+msgid "Select All|Selects the entire document"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..EditUndo1..Caption\r
+#. StandardActions..ActionList1..EditUndo1..Caption\r
+#: Internet/SvrLogDetailFrame.dfm:90 \r Vcl/ActnRes.dfm:79
+msgid "&Undo"
+msgstr ""
+
+#. LogDetailFrame..ActionList1..EditUndo1..Hint\r
+#. StandardActions..ActionList1..EditUndo1..Hint\r
+#: Internet/SvrLogDetailFrame.dfm:91 \r Vcl/ActnRes.dfm:80
+msgid "Undo|Reverts the last action"
+msgstr ""
+
+#. LogDetailFrame..PopupMenu1..N1..Caption\r
+#. LogDetailFrame..PopupMenu1..N2..Caption\r
+#. WebAppDbgMainForm..MainMenu1..PropertiesItem..N2..Caption\r
+#. WebAppDbgMainForm..MainMenu1..PropertiesItem..N1..Caption\r
+#. CollectionEditor..PopupMenu1..N2..Caption\r
+#. FieldsEditor..LocalMenu..N1..Caption\r
+#. SocketForm..PopupMenu..N1..Caption\r
+#. SocketForm..MainMenu1..miPorts..N3..Caption\r
+#. SocketForm..MainMenu1..Connections1..N2..Caption\r
+#: Internet/SvrLogDetailFrame.dfm:319 \r Internet/SvrLogDetailFrame.dfm:334
+#: Internet/SvrMainForm.dfm:186 Internet/SvrMainForm.dfm:192 Property\r
+#: Editors/ColnEdit.dfm:183 Editors/DSDesign.dfm:138 Vcl/ScktMain.dfm:323
+#: Vcl/ScktMain.dfm:351 Vcl/ScktMain.dfm:370
+msgid "-"
+msgstr ""
+
+#. LogFrame..ActionList1..DetailAction..Caption\r
+#: Internet/SvrLogFrame.dfm:45 \r
+msgid "&Details..."
+msgstr ""
+
+#. WebAppDbgMainForm..Caption\r
+#. WebAppDbgMainForm..ActionList1..MainUpdateAction..Caption\r
+#: Internet/SvrMainForm.dfm:7 \r Internet/SvrMainForm.dfm:161
+msgid "MainUpdateAction"
+msgstr ""
+
+#. WebAppDbgMainForm..Label2..Caption\r
+#: Internet/SvrMainForm.dfm:29 \r
+msgid "Default URL:"
+msgstr ""
+
+#. WebAppDbgMainForm..Label1..Caption\r
+#: Internet/SvrMainForm.dfm:47 \r
+msgid "Port:"
+msgstr ""
+
+#. WebAppDbgMainForm..PageControl1..TabSheet2..Caption\r
+#: Internet/SvrMainForm.dfm:77 \r
+msgid "Statistics"
+msgstr ""
+
+#. WebAppDbgMainForm..PageControl1..TabSheet1..Caption\r
+#. DlgProperties..PageControl1..TabLog..Caption\r
+#: Internet/SvrMainForm.dfm:89 \r Internet/SvrPropDlg.dfm:124
+msgid "Log"
+msgstr ""
+
+#. WebAppDbgMainForm..PageControl1..TabSheet1..GroupBox1..CheckBox1..Caption\r
+#: Internet/SvrMainForm.dfm:121 \r
+msgid "&Log To List"
+msgstr ""
+
+#. WebAppDbgMainForm..ActionList1..ToggleServerAction..Caption\r
+#: Internet/SvrMainForm.dfm:131 \r
+msgid "Toggle"
+msgstr ""
+
+#. WebAppDbgMainForm..ActionList1..ExitAction..Caption\r
+#. StandardActions..ActionList1..FileExit1..Caption\r
+#: Internet/SvrMainForm.dfm:136 \r Vcl/ActnRes.dfm:103
+msgid "E&xit"
+msgstr "Marchar"
+
+#. WebAppDbgMainForm..ActionList1..StopAction..Caption\r
+#: Internet/SvrMainForm.dfm:140 \r
+msgid "S&top Server"
+msgstr ""
+
+#. WebAppDbgMainForm..ActionList1..StartAction..Caption\r
+#: Internet/SvrMainForm.dfm:145 \r
+msgid "&Start Server"
+msgstr ""
+
+#. WebAppDbgMainForm..ActionList1..AboutAction..Caption\r
+#: Internet/SvrMainForm.dfm:150 \r
+msgid "&About..."
+msgstr "&Acerca de..."
+
+#. WebAppDbgMainForm..ActionList1..PropertiesAction..Caption\r
+#: Internet/SvrMainForm.dfm:154 \r
+msgid "&Options..."
+msgstr ""
+
+#. WebAppDbgMainForm..ActionList1..BrowseAction..Caption\r
+#: Internet/SvrMainForm.dfm:158 \r
+msgid "BrowseAction"
+msgstr ""
+
+#. WebAppDbgMainForm..ActionList1..ToggleLogAction..Caption\r
+#: Internet/SvrMainForm.dfm:169 \r
+msgid "&Log Traffic"
+msgstr ""
+
+#. WebAppDbgMainForm..MainMenu1..PropertiesItem..Caption\r
+#: Internet/SvrMainForm.dfm:178 \r
+msgid "&Server"
+msgstr "&Servidor"
+
+#. DlgProperties..Caption\r
+#. UpdateSQLEditForm..PageControl..FieldsPage..Caption\r
+#. CustomizeFrm..Tabs..OptionsTab..Caption\r
+#. CustomizeFrm..ActionList1..ResetUsageDataActn..Category\r
+#. CustomizeFrm..ActionList1..RecentlyUsedActn..Category\r
+#. CustomizeFrm..ActionList1..FullMenusActn..Category\r
+#. CustomizeFrm..ActionList1..ShowHintsActn..Category\r
+#. CustomizeFrm..ActionList1..ShowShortCutsInTipsActn..Category\r
+#. CustomizeFrm..ActionList1..LargeIconsActn..Category\r
+#: Internet/SvrPropDlg.dfm:6 \r Property\r Editors/UpdSqlEd.dfm:54
+#: Vcl/CustomizeDlg.dfm:260 Vcl/CustomizeDlg.dfm:396 Vcl/CustomizeDlg.dfm:401
+#: Vcl/CustomizeDlg.dfm:407 Vcl/CustomizeDlg.dfm:413 Vcl/CustomizeDlg.dfm:420
+#: Vcl/CustomizeDlg.dfm:432
+msgid "Options"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabConnection..Caption\r
+#. frmIBSecurityEditor..GroupBox2..Caption\r
+#. frmIBServiceEditor..GroupBox2..Caption\r
+#: Internet/SvrPropDlg.dfm:52 \r Vcl/IBSecurityEditor.dfm:23
+#: Vcl/IBServiceEditor.dfm:23
+msgid "Connection"
+msgstr "Conexión"
+
+#. DlgProperties..PageControl1..TabConnection..GroupBox1..Label1..Caption\r
+#: Internet/SvrPropDlg.dfm:68 \r
+msgid "&Port:"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabConnection..GroupBox1..Label2..Caption\r
+#: Internet/SvrPropDlg.dfm:76 \r
+msgid "&Search Path:"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabConnection..GroupBox1..Label3..Caption\r
+#: Internet/SvrPropDlg.dfm:84 \r
+msgid "&Default URL:"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabConnection..GroupBox1..cbPort..Text\r
+#: Internet/SvrPropDlg.dfm:94 \r
+msgid "cbPort"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabConnection..GroupBox1..cbActiveAtStartup..Caption\r
+#: Internet/SvrPropDlg.dfm:102 \r
+msgid "&Activate at Startup"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabConnection..GroupBox1..edDefault..Text\r
+#: Internet/SvrPropDlg.dfm:111 \r
+msgid "edDefault"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabConnection..GroupBox1..edPath..Text\r
+#: Internet/SvrPropDlg.dfm:119 \r
+msgid "edPath"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabLog..GroupBox2..Caption\r
+#: Internet/SvrPropDlg.dfm:135 \r
+msgid "Show in Log"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabLog..GroupBox6..Caption\r
+#: Internet/SvrPropDlg.dfm:159 \r
+msgid " Log Size "
+msgstr ""
+
+#. DlgProperties..PageControl1..TabLog..GroupBox6..Label4..Caption\r
+#: Internet/SvrPropDlg.dfm:170 \r
+msgid "Max Events:"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabLog..GroupBox6..Label5..Caption\r
+#: Internet/SvrPropDlg.dfm:178 \r
+msgid "Delete when max exceeded:"
+msgstr ""
+
+#. DlgProperties..PageControl1..TabLog..GroupBox6..edLogMax..Text\r
+#: Internet/SvrPropDlg.dfm:187 \r
+msgid "edLogMax"
+msgstr ""
+
+#. StatsFrame..GroupBox1..Label3..Caption\r
+#: Internet/SvrStatsFrame.dfm:46 \r
+msgid "RequestCount:"
+msgstr ""
+
+#. StatsFrame..GroupBox1..Label5..Caption\r
+#: Internet/SvrStatsFrame.dfm:53 \r
+msgid "Total Response Time:"
+msgstr ""
+
+#. StatsFrame..GroupBox1..Label7..Caption\r
+#: Internet/SvrStatsFrame.dfm:60 \r
+msgid "Avg Response Time:"
+msgstr ""
+
+#. StatsFrame..GroupBox1..Label8..Caption\r
+#: Internet/SvrStatsFrame.dfm:67 \r
+msgid "Last Response Time:"
+msgstr ""
+
+#. StatsFrame..GroupBox1..Label1..Caption\r
+#: Internet/SvrStatsFrame.dfm:74 \r
+msgid "Min Response Time:"
+msgstr "Tiempo mín. de respuesta:"
+
+#. StatsFrame..GroupBox1..Label2..Caption\r
+#: Internet/SvrStatsFrame.dfm:81 \r
+msgid "Max Response Time:"
+msgstr "Tiempo max. de respuesta:"
+
+#. StatsFrame..ActionList1..ResetCountsAction..Caption\r
+#: Internet/SvrStatsFrame.dfm:110 \r
+msgid "&Reset"
+msgstr "Reinicializar"
+
+#. AboutBox..Caption\r
+#: Internet/WebAppDbgAbout.dfm:5 \r
+msgid "About Web App Debugger"
+msgstr ""
+
+#. AboutBox..Label3..Caption\r
+#: Internet/WebAppDbgAbout.dfm:29 \r
+msgid "Memory Available to Windows:"
+msgstr ""
+
+#. AboutBox..OS..Caption\r
+#: Internet/WebAppDbgAbout.dfm:47 \r
+msgid "OS"
+msgstr ""
+
+#. AboutBox..DetailsPanel..Version..Caption\r
+#: Internet/WebAppDbgAbout.dfm:94 \r
+msgid "Version 6.0"
+msgstr "Versión 6.0"
+
+#. AboutBox..DetailsPanel..SKUName..Caption\r
+#: Internet/WebAppDbgAbout.dfm:108 \r
+msgid "Web Application Debugger"
+msgstr ""
+
+#. AboutBox..DetailsPanel..CompanyName..Caption\r
+#: Internet/WebAppDbgAbout.dfm:297 \r
+msgid "Borland Software Corporation"
+msgstr ""
+
+#. ConnEditForm..SourceofConnection..Caption\r
+#: Property\r Editors/AdoConEd.dfm:49 \r
+msgid " Source of Connection "
+msgstr ""
+
+#. ConnEditForm..SourceofConnection..UseDataLinkFile..Caption\r
+#: Property\r Editors/AdoConEd.dfm:57 \r
+msgid "Use Data &Link File"
+msgstr ""
+
+#. ConnEditForm..SourceofConnection..Browse..Caption\r
+#: Property\r Editors/AdoConEd.dfm:77 \r
+msgid "&Browse..."
+msgstr ""
+
+#. ConnEditForm..SourceofConnection..UseConnectionString..Caption\r
+#: Property\r Editors/AdoConEd.dfm:87 \r
+msgid "Use &Connection String"
+msgstr "Usar cadena de conexión"
+
+#. ConnEditForm..SourceofConnection..Build..Caption\r
+#: Property\r Editors/AdoConEd.dfm:105 \r
+msgid "B&uild..."
+msgstr "Construir..."
+
+#. ClientDataForm..Caption\r
+#: Property\r Editors/CDSEdit.dfm:6 \r
+msgid "Client DataSet Data"
+msgstr ""
+
+#. ClientDataForm..GroupBox1..Caption\r
+#: Property\r Editors/CDSEdit.dfm:19 \r
+msgid " Assign Data From "
+msgstr ""
+
+#. CollectionEditor..Caption\r
+#: Property\r Editors/ColnEdit.dfm:10 \r
+msgid "CollectionEditor"
+msgstr ""
+
+#. CollectionEditor..ToolBar1..ToolButton3..Caption\r
+#: Property\r Editors/ColnEdit.dfm:41 \r
+#, fuzzy
+msgid "ToolButton3"
+msgstr "Más botones"
+
+#. CollectionEditor..ActionList1..AddCmd..Hint\r
+#: Property\r Editors/ColnEdit.dfm:190 \r
+msgid "Add New"
+msgstr ""
+
+#. CollectionEditor..ActionList1..DeleteCmd..Hint\r
+#: Property\r Editors/ColnEdit.dfm:198 \r
+msgid "Delete Selected"
+msgstr ""
+
+#. CollectionEditor..ActionList1..MoveUpCmd..Caption\r
+#: Property\r Editors/ColnEdit.dfm:205 \r
+msgid "Move &Up"
+msgstr ""
+
+#. CollectionEditor..ActionList1..MoveUpCmd..Hint\r
+#: Property\r Editors/ColnEdit.dfm:207 \r
+msgid "Move Selected Up"
+msgstr ""
+
+#. CollectionEditor..ActionList1..MoveDownCmd..Caption\r
+#: Property\r Editors/ColnEdit.dfm:214 \r
+msgid "Move Dow&n"
+msgstr ""
+
+#. CollectionEditor..ActionList1..MoveDownCmd..Hint\r
+#: Property\r Editors/ColnEdit.dfm:216 \r
+msgid "Move Selected Down"
+msgstr ""
+
+#. CollectionEditor..ActionList1..SelectAllCmd..Caption\r
+#. UpdateSQLEditForm..FieldListPopup..miSelectAll..Caption\r
+#. StandardActions..ActionList1..ListControlSelectAll1..Caption\r
+#: Property\r Editors/ColnEdit.dfm:223 \r Editors/UpdSqlEd.dfm:210
+#: Vcl/ActnRes.dfm:276
+msgid "&Select All"
+msgstr ""
+
+#. DBEditForm..GroupBox1..Caption\r
+#: Property\r Editors/Dbedit.dfm:18 \r
+msgid " Database "
+msgstr "Base de datos"
+
+#. DBEditForm..GroupBox1..Label1..Caption\r
+#: Property\r Editors/Dbedit.dfm:25 \r
+msgid "&Alias name:"
+msgstr ""
+
+#. DBEditForm..GroupBox1..Label2..Caption\r
+#: Property\r Editors/Dbedit.dfm:33 \r
+msgid "&Driver name:"
+msgstr "Nombre del dispositivo:"
+
+#. DBEditForm..GroupBox1..Label3..Caption\r
+#: Property\r Editors/Dbedit.dfm:41 \r
+msgid "&Parameter overrides:"
+msgstr ""
+
+#. DBEditForm..GroupBox1..Label4..Caption\r
+#. DefineField..FieldGroup..FieldNameLabel..Caption\r
+#: Property\r Editors/Dbedit.dfm:49 \r Editors/DSDefine.dfm:154
+msgid "&Name:"
+msgstr ""
+
+#. DBEditForm..GroupBox1..DefaultsButton..Caption\r
+#: Property\r Editors/Dbedit.dfm:90 \r
+msgid "D&efaults"
+msgstr ""
+
+#. DBEditForm..GroupBox3..LoginPrompt..Caption\r
+#: Property\r Editors/Dbedit.dfm:123 \r
+msgid "&Login prompt"
+msgstr ""
+
+#. DBEditForm..GroupBox3..KeepConnection..Caption\r
+#: Property\r Editors/Dbedit.dfm:131 \r
+msgid "&Keep inactive connection"
+msgstr "Mantener la conexión inactiva"
+
+#. InputReqDialog..Caption\r
+#: Property\r Editors/dbinpreq.dfm:6 \r
+msgid "Input Requested"
+msgstr "Entrada esperada"
+
+#. InputReqDialog..NoPromptAgain..Caption\r
+#: Property\r Editors/dbinpreq.dfm:48 \r
+msgid "Don't Prompt Again"
+msgstr ""
+
+#. DataBindForm..Caption\r
+#: Property\r Editors/DbOleEdt.dfm:6 \r
+msgid "ActiveX Control Data Bindings Editor"
+msgstr ""
+
+#. DataBindForm..Panel1..Label1..Caption\r
+#: Property\r Editors/DbOleEdt.dfm:29 \r
+msgid "&Property Name:"
+msgstr ""
+
+#. DataBindForm..Panel1..Label2..Caption\r
+#: Property\r Editors/DbOleEdt.dfm:37 \r
+msgid "&Field Name:"
+msgstr ""
+
+#. DataBindForm..Panel1..Label3..Caption\r
+#: Property\r Editors/DbOleEdt.dfm:45 \r
+msgid "Bo&und Properties to Fields:"
+msgstr ""
+
+#. DataBindForm..Panel1..BindBtn..Caption\r
+#: Property\r Editors/DbOleEdt.dfm:73 \r
+msgid "<- &Bind ->"
+msgstr ""
+
+#. DataBindForm..Panel1..ClearBtn..Caption\r
+#: Property\r Editors/DbOleEdt.dfm:99 \r
+msgid "C&lear"
+msgstr ""
+
+#. AddFields..GroupBox1..Caption\r
+#: Property\r Editors/DSAdd.dfm:46 \r
+msgid "Available fields"
+msgstr ""
+
+#. AssociateAttributes..Caption\r
+#: Property\r Editors/DSAttrA.dfm:5 \r
+msgid "Associate attributes"
+msgstr ""
+
+#. AssociateAttributes..GroupBox1..Caption\r
+#: Property\r Editors/DSAttrA.dfm:51 \r
+msgid "Attribute set name"
+msgstr ""
+
+#. SaveAttributesAs..Caption\r
+#: Property\r Editors/DSAttrS.dfm:5 \r
+msgid "Save %s attributes as"
+msgstr ""
+
+#. SaveAttributesAs..Label1..Caption\r
+#: Property\r Editors/DSAttrS.dfm:25 \r
+msgid "&Attribute set name:"
+msgstr ""
+
+#. SaveAttributesAs..Label2..Caption\r
+#: Property\r Editors/DSAttrS.dfm:33 \r
+msgid "&Based on:"
+msgstr ""
+
+#. DefineField..Caption\r
+#: Property\r Editors/DSDefine.dfm:5 \r
+msgid "New Field"
+msgstr ""
+
+#. DefineField..LookupGroup..Caption\r
+#: Property\r Editors/DSDefine.dfm:20 \r
+msgid "Lookup definition"
+msgstr ""
+
+#. DefineField..LookupGroup..DatasetLabel..Caption\r
+#: Property\r Editors/DSDefine.dfm:27 \r
+msgid "D&ataset:"
+msgstr ""
+
+#. DefineField..LookupGroup..KeyFieldsLabel..Caption\r
+#. UpdateSQLEditForm..PageControl..FieldsPage..GroupBox1..Label3..Caption\r
+#: Property\r Editors/DSDefine.dfm:36 \r Editors/UpdSqlEd.dfm:75
+msgid "&Key Fields:"
+msgstr ""
+
+#. DefineField..LookupGroup..LookupKeysLabel..Caption\r
+#: Property\r Editors/DSDefine.dfm:45 \r
+msgid "Look&up Keys:"
+msgstr ""
+
+#. DefineField..LookupGroup..ResultFieldLabel..Caption\r
+#: Property\r Editors/DSDefine.dfm:54 \r
+msgid "&Result Field:"
+msgstr ""
+
+#. DefineField..FieldGroup..Caption\r
+#: Property\r Editors/DSDefine.dfm:139 \r
+msgid "Field properties"
+msgstr ""
+
+#. DefineField..FieldGroup..ComponentNameLabel..Caption\r
+#: Property\r Editors/DSDefine.dfm:146 \r
+msgid "C&omponent:"
+msgstr ""
+
+#. DefineField..FieldGroup..FieldTypeLabel..Caption\r
+#: Property\r Editors/DSDefine.dfm:162 \r
+msgid "&Type:"
+msgstr ""
+
+#. DefineField..FieldGroup..SizeEditLabel..Caption\r
+#: Property\r Editors/DSDefine.dfm:170 \r
+msgid "&Size:"
+msgstr ""
+
+#. DefineField..FieldKind..Caption\r
+#: Property\r Editors/DSDefine.dfm:216 \r
+msgid "Field type"
+msgstr ""
+
+#. DefineField..FieldKind....Items.Strings\r
+#: Property\r Editors/DSDefine.dfm:223 \r
+msgid ""
+"&Data\n"
+"&Calculated\n"
+"&Lookup\n"
+msgstr ""
+
+#. FieldsEditor..FieldListBox..Hint\r
+#: Property\r Editors/DSDesign.dfm:81 \r
+msgid "Fields"
+msgstr ""
+
+#. FieldsEditor..AggListBox..Hint\r
+#: Property\r Editors/DSDesign.dfm:100 \r
+msgid "Aggregates"
+msgstr ""
+
+#. FieldsEditor..LocalMenu..AddItem..Caption\r
+#: Property\r Editors/DSDesign.dfm:121 \r
+msgid "&Add fields..."
+msgstr ""
+
+#. FieldsEditor..LocalMenu..NewItem..Caption\r
+#: Property\r Editors/DSDesign.dfm:127 \r
+msgid "&New field..."
+msgstr ""
+
+#. FieldsEditor..LocalMenu..Addallfields1..Caption\r
+#: Property\r Editors/DSDesign.dfm:133 \r
+msgid "Add all &fields"
+msgstr ""
+
+#. FieldsEditor..LocalMenu..SelectAllItem..Caption\r
+#: Property\r Editors/DSDesign.dfm:165 \r
+msgid "Se&lect all"
+msgstr ""
+
+#. LinkFields..Caption\r
+#: Property\r Editors/FldLinks.DFM:6 \r
+msgid "Field Link Designer"
+msgstr ""
+
+#. LinkFields..Label30..Caption\r
+#: Property\r Editors/FldLinks.DFM:35 \r
+msgid "D&etail Fields"
+msgstr ""
+
+#. LinkFields..Label31..Caption\r
+#: Property\r Editors/FldLinks.DFM:44 \r
+msgid "&Master Fields"
+msgstr ""
+
+#. LinkFields..IndexLabel..Caption\r
+#: Property\r Editors/FldLinks.DFM:53 \r
+msgid "A&vailable Indexes"
+msgstr ""
+
+#. LinkFields..Label2..Caption\r
+#: Property\r Editors/FldLinks.DFM:61 \r
+msgid "&Joined Fields"
+msgstr ""
+
+#. IndexFiles..Caption\r
+#. IndexFiles..GroupBox1..Caption\r
+#: Property\r Editors/Ixedit.dfm:5 \r Editors/Ixedit.dfm:17
+msgid "Index Files"
+msgstr "Archivos del índice"
+
+#. IndexFiles..OpenDialog....OnClick\r
+#: Property\r Editors/Ixedit.dfm:92 \r
+msgid ""
+"dBASE Multiple Index (*.MDX)|*.mdx|dBase Index (*.NDX)|*.ndx|FoxPro Index (*."
+"CDX)|*.cdx\n"
+msgstr ""
+
+#. PictureEditorDlg..OpenDialog....OnClick\r
+#. PictureEditorDlg..SaveDialog....Top\r
+#: Property\r Editors/PicEdit.dfm:104 \r Editors/PicEdit.dfm:112
+msgid ""
+"All (*.bmp;*.ico;*.emf;*.wmf)|*.bmp;*.ico;*.emf;*.wmf|Bitmaps (*.bmp)|*.bmp|"
+"Icons (*.ico)|*.ico|Enhanced Metafiles (*.emf)|*.emf|Metafiles (*.wmf)|*."
+"wmf\n"
+msgstr ""
+
+#. SQLEditForm..Caption\r
+#: Property\r Editors/SqlEdit.dfm:5 \r
+msgid "CommandText Editor"
+msgstr "Editor del CommandText"
+
+#. SQLEditForm..TopPanel..TableListLabel..Caption\r
+#: Property\r Editors/SqlEdit.dfm:52 \r
+msgid "&Tables:"
+msgstr ""
+
+#. SQLEditForm..TopPanel..SQLLabel..Caption\r
+#: Property\r Editors/SqlEdit.dfm:60 \r
+msgid "&SQL:"
+msgstr ""
+
+#. SQLEditForm..MetaInfoPanel..TableListPanel..AddTableButton..Caption\r
+#: Property\r Editors/SqlEdit.dfm:165 \r
+msgid "Add T&able to SQL"
+msgstr ""
+
+#. SQLEditForm..MetaInfoPanel..FieldsPanel..FieldListLabel..Caption\r
+#: Property\r Editors/SqlEdit.dfm:183 \r
+msgid "&Fields:"
+msgstr ""
+
+#. SQLEditForm..MetaInfoPanel..FieldsPanel..AddFieldButton..Caption\r
+#: Property\r Editors/SqlEdit.dfm:203 \r
+msgid "Add F&ield to SQL"
+msgstr ""
+
+#. StrEditDlg..Caption\r
+#: Property\r Editors/StrEdit.dfm:5 \r
+msgid "String List Editor"
+msgstr ""
+
+#. StrEditDlg..CodeWndBtn..Caption\r
+#. StrEditDlg..StringEditorMenu..CodeEditorItem..Caption\r
+#: Property\r Editors/StrEdit.dfm:20 \r Editors/StrEdit.dfm:84
+msgid "&Code Editor..."
+msgstr "Editor de &código..."
+
+#. StrEditDlg..OpenDialog..DefaultExt\r
+#: Property\r Editors/StrEdit.dfm:56 \r
+msgid "TXT"
+msgstr "TXT"
+
+#. StrEditDlg..OpenDialog....DefaultExt\r
+#. StrEditDlg..SaveDialog....HelpContext\r
+#: Property\r Editors/StrEdit.dfm:60 \r Editors/StrEdit.dfm:69
+msgid ""
+"Text files (*.TXT)|*.TXT|Config files (*.SYS;*.INI)|*.SYS;*.INI|Batch files "
+"(*.BAT)|*.BAT|All files (*.*)|*.*\n"
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..FieldsPage..GroupBox1..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:60 \r
+msgid " SQL Generation "
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..FieldsPage..GroupBox1..Label1..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:67 \r
+msgid "Table &Name:"
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..FieldsPage..GroupBox1..Label4..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:83 \r
+msgid "Update &Fields:"
+msgstr "Actualiza campos:"
+
+#. UpdateSQLEditForm..PageControl..FieldsPage..GroupBox1..GenerateButton..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:123 \r
+msgid "&Generate SQL"
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..FieldsPage..GroupBox1..PrimaryKeyButton..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:132 \r
+msgid "Select &Primary Keys"
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..FieldsPage..GroupBox1..DefaultButton..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:141 \r
+msgid "&Dataset Defaults"
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..FieldsPage..GroupBox1..QuoteFields..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:151 \r
+msgid "&Quote Field Names"
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..FieldsPage..GroupBox1..GetTableFieldsButton..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:160 \r
+msgid "Get &Table Fields"
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..SQLPage..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:167 \r
+msgid "SQL"
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..SQLPage..Label2..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:173 \r
+msgid "S&QL Text:"
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..SQLPage..StatementType..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:190 \r
+msgid "Statement Type"
+msgstr ""
+
+#. UpdateSQLEditForm..PageControl..SQLPage..StatementType....Items.Strings\r
+#: Property\r Editors/UpdSqlEd.dfm:197 \r
+msgid ""
+"&Modify\n"
+"&Insert\n"
+"&Delete\n"
+msgstr ""
+
+#. UpdateSQLEditForm..FieldListPopup..miClearAll..Caption\r
+#: Property\r Editors/UpdSqlEd.dfm:214 \r
+msgid "&Clear All"
+msgstr ""
+
+#. ValueEditDlg..Caption\r
+#: Property\r Editors/ValueEdit.dfm:4 \r
+msgid "Value List editor"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowArrange1..Category\r
+#. StandardActions..ActionList1..WindowCascade1..Category\r
+#. StandardActions..ActionList1..WindowClose1..Category\r
+#. StandardActions..ActionList1..WindowMinimizeAll1..Category\r
+#. StandardActions..ActionList1..WindowTileHorizontal1..Category\r
+#. StandardActions..ActionList1..WindowTileVertical1..Category\r
+#: Vcl/ActnRes.dfm:33 \r Vcl/ActnRes.dfm:37 Vcl/ActnRes.dfm:43
+#: Vcl/ActnRes.dfm:48 Vcl/ActnRes.dfm:53 Vcl/ActnRes.dfm:59
+msgid "Window"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowArrange1..Caption\r
+#: Vcl/ActnRes.dfm:34 \r
+msgid "&Arrange"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowCascade1..Caption\r
+#: Vcl/ActnRes.dfm:38 \r
+msgid "&Cascade"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowCascade1..Hint\r
+#: Vcl/ActnRes.dfm:39 \r
+msgid "Cascade"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowClose1..Caption\r
+#: Vcl/ActnRes.dfm:44 \r
+msgid "C&lose"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowClose1..Hint\r
+#. CustomizeFrm..CloseBtn..Caption\r
+#. CustomizeFrm..ActionList1..CloseActn..Caption\r
+#: Vcl/ActnRes.dfm:45 \r Vcl/CustomizeDlg.dfm:35 Vcl/CustomizeDlg.dfm:393
+msgid "Close"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowMinimizeAll1..Caption\r
+#: Vcl/ActnRes.dfm:49 \r
+msgid "&Minimize All"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowMinimizeAll1..Hint\r
+#: Vcl/ActnRes.dfm:50 \r
+msgid "Minimize All"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowTileHorizontal1..Caption\r
+#: Vcl/ActnRes.dfm:54 \r
+msgid "Tile &Horizontally"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowTileHorizontal1..Hint\r
+#: Vcl/ActnRes.dfm:55 \r
+msgid "Tile Horizontal"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowTileVertical1..Caption\r
+#: Vcl/ActnRes.dfm:60 \r
+msgid "&Tile Vertically"
+msgstr ""
+
+#. StandardActions..ActionList1..WindowTileVertical1..Hint\r
+#: Vcl/ActnRes.dfm:61 \r
+msgid "Tile Vertical"
+msgstr ""
+
+#. StandardActions..ActionList1..EditDelete1..Hint\r
+#: Vcl/ActnRes.dfm:67 \r
+msgid "Delete|Erases the selection"
+msgstr ""
+
+#. StandardActions..ActionList1..HelpContents1..Caption\r
+#: Vcl/ActnRes.dfm:86 \r
+msgid "&Contents"
+msgstr "&Contenido"
+
+#. StandardActions..ActionList1..HelpContents1..Hint\r
+#: Vcl/ActnRes.dfm:87 \r
+msgid "Help Contents"
+msgstr "Contenidos de la ayuda"
+
+#. StandardActions..ActionList1..HelpOnHelp1..Caption\r
+#: Vcl/ActnRes.dfm:92 \r
+msgid "&Help on Help"
+msgstr ""
+
+#. StandardActions..ActionList1..HelpOnHelp1..Hint\r
+#: Vcl/ActnRes.dfm:93 \r
+msgid "Help on help"
+msgstr ""
+
+#. StandardActions..ActionList1..HelpTopicSearch1..Caption\r
+#: Vcl/ActnRes.dfm:97 \r
+msgid "&Topic Search"
+msgstr ""
+
+#. StandardActions..ActionList1..HelpTopicSearch1..Hint\r
+#: Vcl/ActnRes.dfm:98 \r
+msgid "Topic Search"
+msgstr ""
+
+#. StandardActions..ActionList1..FileExit1..Category\r
+#. StandardActions..ActionList1..FileOpen1..Category\r
+#. StandardActions..ActionList1..FilePrintSetup1..Category\r
+#. StandardActions..ActionList1..FileSaveAs1..Category\r
+#. StandardActions..ActionList1..FileRun1..Category\r
+#: Vcl/ActnRes.dfm:102 \r Vcl/ActnRes.dfm:108 Vcl/ActnRes.dfm:115
+#: Vcl/ActnRes.dfm:120 Vcl/ActnRes.dfm:235
+msgid "File"
+msgstr ""
+
+#. StandardActions..ActionList1..FileExit1..Hint\r
+#: Vcl/ActnRes.dfm:104 \r
+msgid "Exit|Quits the application"
+msgstr "Marchar|Salir de la aplicación"
+
+#. StandardActions..ActionList1..FileOpen1..Caption\r
+#: Vcl/ActnRes.dfm:109 \r
+msgid "&Open..."
+msgstr ""
+
+#. StandardActions..ActionList1..FileOpen1..Hint\r
+#: Vcl/ActnRes.dfm:110 \r
+msgid "Open|Opens an existing file"
+msgstr ""
+
+#. StandardActions..ActionList1..FilePrintSetup1..Caption\r
+#: Vcl/ActnRes.dfm:116 \r
+msgid "Print Set&up..."
+msgstr ""
+
+#. StandardActions..ActionList1..FilePrintSetup1..Hint\r
+#: Vcl/ActnRes.dfm:117 \r
+msgid "Print Setup"
+msgstr ""
+
+#. StandardActions..ActionList1..FileSaveAs1..Caption\r
+#: Vcl/ActnRes.dfm:121 \r
+msgid "Save &As..."
+msgstr ""
+
+#. StandardActions..ActionList1..FileSaveAs1..Hint\r
+#: Vcl/ActnRes.dfm:122 \r
+msgid "Save As|Saves the active file with a new name"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditBold1..Category\r
+#. StandardActions..ActionList1..RichEditItalic1..Category\r
+#. StandardActions..ActionList1..RichEditUnderline1..Category\r
+#. StandardActions..ActionList1..RichEditAlignCenter1..Category\r
+#. StandardActions..ActionList1..RichEditAlignLeft1..Category\r
+#. StandardActions..ActionList1..RichEditAlignRight1..Category\r
+#. StandardActions..ActionList1..RichEditBullets1..Category\r
+#. StandardActions..ActionList1..RichEditStrikeOut1..Category\r
+#: Vcl/ActnRes.dfm:126 \r Vcl/ActnRes.dfm:134 Vcl/ActnRes.dfm:142
+#: Vcl/ActnRes.dfm:170 Vcl/ActnRes.dfm:177 Vcl/ActnRes.dfm:184
+#: Vcl/ActnRes.dfm:191 Vcl/ActnRes.dfm:198
+msgid "Format"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditBold1..Caption\r
+#: Vcl/ActnRes.dfm:128 \r
+msgid "&Bold"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditItalic1..Caption\r
+#: Vcl/ActnRes.dfm:136 \r
+msgid "&Italic"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditUnderline1..Caption\r
+#: Vcl/ActnRes.dfm:144 \r
+msgid "&Underline"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditUnderline1..Hint\r
+#: Vcl/ActnRes.dfm:145 \r
+msgid "Underline"
+msgstr ""
+
+#. StandardActions..ActionList1..SearchFind1..Category\r
+#. StandardActions..ActionList1..SearchFindNext1..Category\r
+#. StandardActions..ActionList1..SearchReplace1..Category\r
+#. StandardActions..ActionList1..SearchFindFirst1..Category\r
+#: Vcl/ActnRes.dfm:150 \r Vcl/ActnRes.dfm:157 Vcl/ActnRes.dfm:164
+#: Vcl/ActnRes.dfm:255
+msgid "Search"
+msgstr ""
+
+#. StandardActions..ActionList1..SearchFind1..Caption\r
+#: Vcl/ActnRes.dfm:151 \r
+msgid "&Find..."
+msgstr ""
+
+#. StandardActions..ActionList1..SearchFind1..Hint\r
+#: Vcl/ActnRes.dfm:152 \r
+msgid "Find|Finds the specified text"
+msgstr "Encontrar|Encuentra el texto especificado"
+
+#. StandardActions..ActionList1..SearchFindNext1..Caption\r
+#: Vcl/ActnRes.dfm:158 \r
+msgid "Find &Next"
+msgstr ""
+
+#. StandardActions..ActionList1..SearchFindNext1..Hint\r
+#: Vcl/ActnRes.dfm:159 \r
+msgid "Find Next|Repeats the last find"
+msgstr ""
+
+#. StandardActions..ActionList1..SearchReplace1..Hint\r
+#: Vcl/ActnRes.dfm:166 \r
+msgid "Replace|Replaces specific text with different text"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditAlignCenter1..Caption\r
+#: Vcl/ActnRes.dfm:172 \r
+msgid "&Center"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditAlignCenter1..Hint\r
+#: Vcl/ActnRes.dfm:173 \r
+msgid "Center|Centers text between margins"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditAlignLeft1..Caption\r
+#: Vcl/ActnRes.dfm:179 \r
+msgid "Align &Left"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditAlignLeft1..Hint\r
+#: Vcl/ActnRes.dfm:180 \r
+msgid "Align Left|Aligns text at the left indent"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditAlignRight1..Caption\r
+#: Vcl/ActnRes.dfm:186 \r
+msgid "Align &Right"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditAlignRight1..Hint\r
+#: Vcl/ActnRes.dfm:187 \r
+msgid "Align Right|Aligns text at the right indent"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditBullets1..Caption\r
+#: Vcl/ActnRes.dfm:193 \r
+msgid "&Bullets"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditBullets1..Hint\r
+#: Vcl/ActnRes.dfm:194 \r
+msgid "Bullets|Inserts a bullet on the current line"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditStrikeOut1..Caption\r
+#: Vcl/ActnRes.dfm:200 \r
+msgid "&Strikeout"
+msgstr ""
+
+#. StandardActions..ActionList1..RichEditStrikeOut1..Hint\r
+#: Vcl/ActnRes.dfm:201 \r
+msgid "Strikeout"
+msgstr ""
+
+#. StandardActions..ActionList1..ColorSelect1..Caption\r
+#: Vcl/ActnRes.dfm:206 \r
+msgid "Select &Color..."
+msgstr ""
+
+#. StandardActions..ActionList1..ColorSelect1..Hint\r
+#: Vcl/ActnRes.dfm:208 \r
+msgid "Color Select"
+msgstr ""
+
+#. StandardActions..ActionList1..OpenPicture1..Caption\r
+#: Vcl/ActnRes.dfm:224 \r
+msgid "&Open Picture..."
+msgstr ""
+
+#. StandardActions..ActionList1..OpenPicture1..Hint\r
+#: Vcl/ActnRes.dfm:225 \r
+msgid "Open Picture"
+msgstr ""
+
+#. StandardActions..ActionList1..SavePicture1..Caption\r
+#: Vcl/ActnRes.dfm:230 \r
+msgid "&Save Picture..."
+msgstr ""
+
+#. StandardActions..ActionList1..SavePicture1..Hint\r
+#: Vcl/ActnRes.dfm:231 \r
+msgid "Save Picture"
+msgstr ""
+
+#. StandardActions..ActionList1..FileRun1..Caption\r
+#: Vcl/ActnRes.dfm:238 \r
+msgid "&Run..."
+msgstr ""
+
+#. StandardActions..ActionList1..FileRun1..Hint\r
+#: Vcl/ActnRes.dfm:239 \r
+msgid "Run|Runs an application"
+msgstr ""
+
+#. StandardActions..ActionList1..FileRun1..Operation\r
+#: Vcl/ActnRes.dfm:240 \r
+msgid "open"
+msgstr ""
+
+#. StandardActions..ActionList1..PreviousTab1..Hint\r
+#: Vcl/ActnRes.dfm:246 \r
+msgid "Previous|Go back to the previous tab"
+msgstr ""
+
+#. StandardActions..ActionList1..NextTab1..LastTabCaption\r
+#: Vcl/ActnRes.dfm:250 \r
+msgid "&Finish"
+msgstr ""
+
+#. StandardActions..ActionList1..NextTab1..Hint\r
+#: Vcl/ActnRes.dfm:252 \r
+msgid "Next|Go to the next tab"
+msgstr ""
+
+#. StandardActions..ActionList1..SearchFindFirst1..Caption\r
+#: Vcl/ActnRes.dfm:256 \r
+msgid "F&ind First"
+msgstr ""
+
+#. StandardActions..ActionList1..SearchFindFirst1..Hint\r
+#: Vcl/ActnRes.dfm:257 \r
+msgid "Find First|Finds the first occurance of specified text"
+msgstr ""
+
+#. StandardActions..ActionList1..HelpContextAction1..Caption\r
+#: Vcl/ActnRes.dfm:261 \r
+#, fuzzy
+msgid "HelpContextAction1"
+msgstr "Contenidos de la ayuda"
+
+#. StandardActions..ActionList1..ListControlCopySelection1..Category\r
+#. StandardActions..ActionList1..ListControlDeleteSelection1..Category\r
+#. StandardActions..ActionList1..ListControlSelectAll1..Category\r
+#. StandardActions..ActionList1..ListControlClearSelection1..Category\r
+#. StandardActions..ActionList1..ListControlMoveSelection1..Category\r
+#: Vcl/ActnRes.dfm:265 \r Vcl/ActnRes.dfm:270 Vcl/ActnRes.dfm:275
+#: Vcl/ActnRes.dfm:280 Vcl/ActnRes.dfm:285
+msgid "List"
+msgstr ""
+
+#. StandardActions..ActionList1..ListControlCopySelection1..Caption\r
+#: Vcl/ActnRes.dfm:266 \r
+msgid "&Copy Selection"
+msgstr ""
+
+#. StandardActions..ActionList1..ListControlCopySelection1..Hint\r
+#: Vcl/ActnRes.dfm:267 \r
+msgid "Copy Selection"
+msgstr ""
+
+#. StandardActions..ActionList1..ListControlDeleteSelection1..Caption\r
+#: Vcl/ActnRes.dfm:271 \r
+msgid "&Delete Selection"
+msgstr ""
+
+#. StandardActions..ActionList1..ListControlDeleteSelection1..Hint\r
+#: Vcl/ActnRes.dfm:272 \r
+msgid "Delete Selection"
+msgstr ""
+
+#. StandardActions..ActionList1..ListControlClearSelection1..Caption\r
+#. StandardActions..ActionList1..ListControlClearSelection1..Hint\r
+#: Vcl/ActnRes.dfm:281 \r Vcl/ActnRes.dfm:282
+msgid "Clear Selection"
+msgstr ""
+
+#. StandardActions..ActionList1..ListControlMoveSelection1..Caption\r
+#: Vcl/ActnRes.dfm:286 \r
+msgid "&Move Selection"
+msgstr ""
+
+#. StandardActions..ActionList1..ListControlMoveSelection1..Hint\r
+#: Vcl/ActnRes.dfm:287 \r
+msgid "Move Selection"
+msgstr ""
+
+#. StandardActions..ActionList1..BrowseURL1..Category\r
+#. StandardActions..ActionList1..DownLoadURL1..Category\r
+#. StandardActions..ActionList1..SendMail1..Category\r
+#: Vcl/ActnRes.dfm:290 \r Vcl/ActnRes.dfm:295 Vcl/ActnRes.dfm:300
+msgid "Internet"
+msgstr ""
+
+#. StandardActions..ActionList1..BrowseURL1..Caption\r
+#: Vcl/ActnRes.dfm:291 \r
+msgid "&Browse URL"
+msgstr ""
+
+#. StandardActions..ActionList1..BrowseURL1..Hint\r
+#: Vcl/ActnRes.dfm:292 \r
+msgid "Browse URL"
+msgstr ""
+
+#. StandardActions..ActionList1..DownLoadURL1..Caption\r
+#: Vcl/ActnRes.dfm:296 \r
+msgid "&Download URL"
+msgstr ""
+
+#. StandardActions..ActionList1..DownLoadURL1..Hint\r
+#: Vcl/ActnRes.dfm:297 \r
+msgid "Download from URL"
+msgstr ""
+
+#. StandardActions..ActionList1..SendMail1..Caption\r
+#: Vcl/ActnRes.dfm:301 \r
+msgid "&Send Mail..."
+msgstr ""
+
+#. StandardActions..ActionList1..SendMail1..Hint\r
+#: Vcl/ActnRes.dfm:302 \r
+msgid "Send email"
+msgstr ""
+
+#. StandardActions..ActionList1..PrintDlg1..Caption\r
+#: Vcl/ActnRes.dfm:306 \r
+msgid "&Print..."
+msgstr ""
+
+#. CustomizeFrm..Caption\r
+#: Vcl/CustomizeDlg.dfm:6 \r
+msgid "Customize"
+msgstr ""
+
+#. CustomizeFrm..Font.Name\r
+#: Vcl/CustomizeDlg.dfm:15 \r
+#, fuzzy
+msgid "Tahoma"
+msgstr "Brazas"
+
+#. CustomizeFrm..Tabs..ToolbarsTab..Caption\r
+#. CustomizeFrm..ActionList1..ResetActn..Category\r
+#. CustomizeFrm..ActionList1..ApplyToAllActn..Category\r
+#: Vcl/CustomizeDlg.dfm:52 \r Vcl/CustomizeDlg.dfm:386 Vcl/CustomizeDlg.dfm:426
+msgid "Toolbars"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ToolbarsTab..ToolbarsLbl..Caption\r
+#: Vcl/CustomizeDlg.dfm:62 \r
+msgid "Toolb&ars:"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ToolbarsTab..Label2..Caption\r
+#: Vcl/CustomizeDlg.dfm:71 \r
+msgid "(Checkmark toggles visibility)"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ToolbarsTab..CaptionOptionsGrp..Caption\r
+#: Vcl/CustomizeDlg.dfm:100 \r
+msgid "&Toolbar Options"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ToolbarsTab..CaptionOptionsGrp..Label4..Caption\r
+#: Vcl/CustomizeDlg.dfm:108 \r
+msgid "&Caption Options"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ToolbarsTab..CaptionOptionsGrp..ApplyToAllChk..Caption\r
+#: Vcl/CustomizeDlg.dfm:116 \r
+msgid "Apply caption options &to all toolbars"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ToolbarsTab..CaptionOptionsGrp..CaptionOptionsCombo....Items.Strings\r
+#: Vcl/CustomizeDlg.dfm:132 \r
+msgid ""
+"None\n"
+"Selective\n"
+"All\n"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ActionsTab..Caption\r
+#: Vcl/CustomizeDlg.dfm:136 \r
+msgid "Actions"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ActionsTab..InfoLbl....AutoSize\r
+#: Vcl/CustomizeDlg.dfm:152 \r
+msgid ""
+"To add actions to your application simply drag and drop from either "
+"Categories or Actions onto an existing ActionBar.\n"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ActionsTab..ListPanel..ActionsCatLbl..Caption\r
+#: Vcl/CustomizeDlg.dfm:172 \r
+msgid "Cate&gories:"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ActionsTab..ListPanel..ActionsActionsLbl..Caption\r
+#: Vcl/CustomizeDlg.dfm:181 \r
+msgid "A&ctions:"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ActionsTab..DescGroupBox..Caption\r
+#: Vcl/CustomizeDlg.dfm:222 \r
+msgid "Description"
+msgstr ""
+
+#. CustomizeFrm..Tabs..ActionsTab..DescGroupBox..HintLbl..Caption\r
+#: Vcl/CustomizeDlg.dfm:235 \r
+msgid "HintLbl"
+msgstr ""
+
+#. CustomizeFrm..Tabs..OptionsTab..PersonalizeLbl..Caption\r
+#: Vcl/CustomizeDlg.dfm:271 \r
+msgid "Personalized Menus and Toolbars"
+msgstr ""
+
+#. CustomizeFrm..Tabs..OptionsTab..Label1..Caption\r
+#: Vcl/CustomizeDlg.dfm:305 \r
+msgid "&Menu animations:"
+msgstr ""
+
+#. CustomizeFrm..Tabs..OptionsTab..MenuAnimationStyles....Items.Strings\r
+#: Vcl/CustomizeDlg.dfm:365 \r
+msgid ""
+"(None)\n"
+"Default\n"
+"UnFold\n"
+"Slide\n"
+"Fade\n"
+msgstr ""
+
+#. CustomizeFrm..ActionList1..ResetActn..Caption\r
+#: Vcl/CustomizeDlg.dfm:387 \r
+msgid "&Reset..."
+msgstr ""
+
+#. CustomizeFrm..ActionList1..ResetUsageDataActn..Caption\r
+#: Vcl/CustomizeDlg.dfm:397 \r
+msgid "Reset Usage Data"
+msgstr ""
+
+#. CustomizeFrm..ActionList1..RecentlyUsedActn..Caption\r
+#: Vcl/CustomizeDlg.dfm:402 \r
+msgid "Me&nu show recently used items first"
+msgstr ""
+
+#. CustomizeFrm..ActionList1..FullMenusActn..Caption\r
+#: Vcl/CustomizeDlg.dfm:409 \r
+msgid "Show f&ull menus after a short delay"
+msgstr ""
+
+#. CustomizeFrm..ActionList1..ShowHintsActn..Caption\r
+#: Vcl/CustomizeDlg.dfm:415 \r
+msgid "Show &tips on toolbars"
+msgstr ""
+
+#. CustomizeFrm..ActionList1..ShowShortCutsInTipsActn..Caption\r
+#: Vcl/CustomizeDlg.dfm:422 \r
+msgid "Show shortcut keys in tips"
+msgstr ""
+
+#. CustomizeFrm..ActionList1..ApplyToAllActn..Caption\r
+#: Vcl/CustomizeDlg.dfm:428 \r
+msgid "Apply &to all toolbars"
+msgstr ""
+
+#. CustomizeFrm..ActionList1..LargeIconsActn..Caption\r
+#: Vcl/CustomizeDlg.dfm:434 \r
+msgid "&Large icons"
+msgstr ""
+
+#. LoginDialog..Panel..Panel1..Password..PasswordChar\r
+#. PasswordDialog..GroupBox1..Edit..PasswordChar\r
+#: Vcl/DBLOGDLG.dfm:102 \r Vcl/DbPWDlg.dfm:47
+msgid "*"
+msgstr ""
+
+#. HTTPServer......Name\r
+#: Vcl/HTTPIntr.dfm:6 \r
+msgid "Interpreter"
+msgstr ""
+
+#. frmGeneratorEditor..Caption\r
+#: Vcl/IBGeneratorEditor.dfm:5 \r
+msgid "frmGeneratorEditor"
+msgstr ""
+
+#. frmGeneratorEditor..Label1..Caption\r
+#: Vcl/IBGeneratorEditor.dfm:25 \r
+msgid "&Generator"
+msgstr ""
+
+#. frmGeneratorEditor..Label2..Caption\r
+#: Vcl/IBGeneratorEditor.dfm:35 \r
+msgid "&Field"
+msgstr ""
+
+#. frmGeneratorEditor..Label3..Caption\r
+#: Vcl/IBGeneratorEditor.dfm:44 \r
+msgid "Increment By"
+msgstr ""
+
+#. frmGeneratorEditor..cbxGenerators..Text\r
+#: Vcl/IBGeneratorEditor.dfm:74 \r
+msgid "cbxGenerators"
+msgstr ""
+
+#. frmGeneratorEditor..cbxFields..Text\r
+#: Vcl/IBGeneratorEditor.dfm:84 \r
+msgid "cbxFields"
+msgstr ""
+
+#. frmGeneratorEditor..grpApplyEvent..Caption\r
+#: Vcl/IBGeneratorEditor.dfm:91 \r
+msgid "&Apply Event"
+msgstr ""
+
+#. frmGeneratorEditor..grpApplyEvent....Items.Strings\r
+#: Vcl/IBGeneratorEditor.dfm:97 \r
+msgid ""
+"On New Record\n"
+"On Post\n"
+"On Server\n"
+msgstr ""
+
+#. frmIBRestoreEditor..Caption\r
+#: Vcl/IBRestoreEditor.dfm:5 \r
+msgid "Restore Database Files"
+msgstr ""
+
+#. frmIBSecurityEditor..Caption\r
+#. frmIBServiceEditor..Caption\r
+#: Vcl/IBSecurityEditor.dfm:6 \r Vcl/IBServiceEditor.dfm:6
+msgid "Service Editor"
+msgstr ""
+
+#. frmIBSecurityEditor..GroupBox2..Label7..Caption\r
+#. frmIBServiceEditor..GroupBox2..Label7..Caption\r
+#: Vcl/IBSecurityEditor.dfm:30 \r Vcl/IBServiceEditor.dfm:38
+msgid "&Server:"
+msgstr ""
+
+#. frmIBSecurityEditor..GroupBox2..Label8..Caption\r
+#. frmIBServiceEditor..GroupBox2..Label8..Caption\r
+#: Vcl/IBSecurityEditor.dfm:39 \r Vcl/IBServiceEditor.dfm:47
+msgid "&Protocol:"
+msgstr ""
+
+#. frmIBSecurityEditor..GroupBox2..LocalRbtn..Caption\r
+#. frmIBServiceEditor..GroupBox2..LocalRbtn..Caption\r
+#: Vcl/IBSecurityEditor.dfm:48 \r Vcl/IBServiceEditor.dfm:63
+msgid "&Local"
+msgstr ""
+
+#. frmIBSecurityEditor..GroupBox2..RemoteRbtn..Caption\r
+#. frmIBServiceEditor..GroupBox2..RemoteRbtn..Caption\r
+#: Vcl/IBSecurityEditor.dfm:59 \r Vcl/IBServiceEditor.dfm:74
+msgid "&Remote"
+msgstr ""
+
+#. frmIBSecurityEditor..GroupBox2..Protocol....Items.Strings\r
+#. frmIBServiceEditor..GroupBox2..Protocol....Items.Strings\r
+#: Vcl/IBSecurityEditor.dfm:84 \r Vcl/IBServiceEditor.dfm:107
+msgid ""
+"TCP\n"
+"NamedPipe\n"
+"SPX\n"
+msgstr ""
+
+#. frmIBSecurityEditor..GroupBox1..Caption\r
+#. frmIBServiceEditor..GroupBox1..Caption\r
+#: Vcl/IBSecurityEditor.dfm:129 \r Vcl/IBServiceEditor.dfm:152
+msgid "Database Parameters"
+msgstr "Parámetros de la base de datos"
+
+#. frmIBSecurityEditor..GroupBox1..Label3..Caption\r
+#. frmIBServiceEditor..GroupBox1..Label3..Caption\r
+#: Vcl/IBSecurityEditor.dfm:144 \r Vcl/IBServiceEditor.dfm:167
+msgid "Pass&word:"
+msgstr "Contrase&ña: "
+
+#. frmIBSecurityEditor..GroupBox1..Label5..Caption\r
+#. frmIBServiceEditor..GroupBox1..Label5..Caption\r
+#: Vcl/IBSecurityEditor.dfm:152 \r Vcl/IBServiceEditor.dfm:175
+msgid "Se&ttings:"
+msgstr ""
+
+#. frmIBSecurityEditor..GroupBox1..LoginPrompt..Caption\r
+#. frmIBServiceEditor..GroupBox1..LoginPrompt..Caption\r
+#: Vcl/IBSecurityEditor.dfm:185 \r Vcl/IBServiceEditor.dfm:208
+msgid "Lo&gin Prompt"
+msgstr ""
+
+#. frmIBSecurityEditor..GroupBox1..chkActive..Caption\r
+#. frmIBServiceEditor..GroupBox1..chkActive..Caption\r
+#: Vcl/IBSecurityEditor.dfm:193 \r Vcl/IBServiceEditor.dfm:216
+msgid "&Active"
+msgstr ""
+
+#. frmIBServiceEditor..GroupBox2..Label1..Caption\r
+#: Vcl/IBServiceEditor.dfm:30 \r
+msgid "&Database:"
+msgstr "Base de &datos:"
+
+#. frmIBServiceEditor..GroupBox2..Browse..Caption\r
+#: Vcl/IBServiceEditor.dfm:83 \r
+msgid "&Browse"
+msgstr ""
+
+#. SocketForm..Caption\r
+#: Vcl/ScktMain.dfm:6 \r
+msgid "Borland Socket Server"
+msgstr ""
+
+#. SocketForm..Pages..PropPage..PortGroup..Label1..Caption\r
+#: Vcl/ScktMain.dfm:46 \r
+msgid "&Listen on Port:"
+msgstr ""
+
+#. SocketForm..Pages..PropPage..PortGroup..PortDesc....AutoSize\r
+#: Vcl/ScktMain.dfm:60 \r
+msgid ""
+"Many values of Port are associated by convention with a particular service "
+"such as ftp or http. Port is the ID of the connection on which the server "
+"listens for client requests. \n"
+msgstr ""
+
+#. SocketForm..Pages..PropPage..ThreadGroup..Caption\r
+#: Vcl/ScktMain.dfm:92 \r
+msgid "Thread Caching"
+msgstr ""
+
+#. SocketForm..Pages..PropPage..ThreadGroup..Label4..Caption\r
+#: Vcl/ScktMain.dfm:100 \r
+msgid "&Thread Cache Size:"
+msgstr ""
+
+#. SocketForm..Pages..PropPage..ThreadGroup..ThreadDesc....AutoSize\r
+#: Vcl/ScktMain.dfm:113 \r
+msgid ""
+"Thread Cache Size is the maximum number of threads that can be reused for "
+"new client connections.\n"
+msgstr ""
+
+#. SocketForm..Pages..PropPage..InterceptGroup..Caption\r
+#: Vcl/ScktMain.dfm:145 \r
+msgid "Intercept GUID"
+msgstr ""
+
+#. SocketForm..Pages..PropPage..InterceptGroup..Label5..Caption\r
+#: Vcl/ScktMain.dfm:152 \r
+msgid "&GUID:"
+msgstr ""
+
+#. SocketForm..Pages..PropPage..InterceptGroup..GUIDDesc....AutoSize\r
+#: Vcl/ScktMain.dfm:164 \r
+msgid ""
+"Intercept GUID is the GUID for a data interceptor COM object. See help for "
+"the TSocketConnection for details.\n"
+msgstr ""
+
+#. SocketForm..Pages..PropPage..TimeoutGroup..Label7..Caption\r
+#: Vcl/ScktMain.dfm:188 \r
+msgid "&Inactive Timeout:"
+msgstr "Fuera de tiempo inactivo:"
+
+#. SocketForm..Pages..PropPage..TimeoutGroup..TimeoutDesc....AutoSize\r
+#: Vcl/ScktMain.dfm:201 \r
+msgid ""
+"Inactive Timeout specifes the number of minutes a client can be inactive "
+"before being disconnected. (0 indicates infinite)\n"
+msgstr ""
+
+#. SocketForm..Pages..StatPage..Caption\r
+#: Vcl/ScktMain.dfm:239 \r
+msgid "Users"
+msgstr ""
+
+#. SocketForm..Pages..StatPage..ConnectionList......Caption\r
+#: Vcl/ScktMain.dfm:256 \r
+msgid "Host"
+msgstr ""
+
+#. SocketForm..Pages..StatPage..ConnectionList......Caption\r
+#: Vcl/ScktMain.dfm:260 \r
+msgid "Last Activity"
+msgstr ""
+
+#. SocketForm..PopupMenu..miProperties..Caption\r
+#: Vcl/ScktMain.dfm:326 \r
+msgid "&Properties"
+msgstr ""
+
+#. SocketForm..MainMenu1..miPorts..Caption\r
+#: Vcl/ScktMain.dfm:342 \r
+msgid "&Ports"
+msgstr ""
+
+#. SocketForm..MainMenu1..miPorts..miExit..Caption\r
+#: Vcl/ScktMain.dfm:354 \r
+msgid "&Exit"
+msgstr ""
+
+#. SocketForm..MainMenu1..Connections1..Caption\r
+#: Vcl/ScktMain.dfm:359 \r
+msgid "&Connections"
+msgstr "&Conexiones"
+
+#. SocketForm..ActionList1..DisconnectAction..Caption\r
+#: Vcl/ScktMain.dfm:386 \r
+msgid "&Disconnect"
+msgstr "&Desconectar"
+
+#. SocketForm..ActionList1..ShowHostAction..Caption\r
+#: Vcl/ScktMain.dfm:391 \r
+msgid "&Show Host Name"
+msgstr ""
+
+#. SocketForm..ActionList1..RegisteredAction..Caption\r
+#: Vcl/ScktMain.dfm:401 \r
+msgid "&Registered Objects Only"
+msgstr ""
+
+#. SocketForm..ActionList1..AllowXML..Caption\r
+#: Vcl/ScktMain.dfm:406 \r
+msgid "&Allow XML Packets"
+msgstr ""
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: GPSBabel command line program\n"
+"POT-Creation-Date: 2006-10-29 16:00\n"
+"PO-Revision-Date: 2006-10-31 14:53+0100\n"
+"Last-Translator: Daniel Díaz <Daniel.Diaz.Quintero@gmail.com>\n"
+"Language-Team: Daniel Díaz <Daniel.Diaz.Quintero@gmail.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Country: SPAIN\n"
+
+msgid "(integer sec or 'auto') Barograph to GPS time diff"
+msgstr "Dif. de tiempos de barógrafo a GPS (núm de segs. o 'auto')"
+
+msgid "(USR input) Break segments into separate tracks"
+msgstr "(Entrada USR) Dividir segmentos en tracks separadas"
+
+msgid "(USR output) Merge into one segmented track"
+msgstr "(Salida USR) Combinar en track segmentada"
+
+msgid "Ad-hoc closed icon name"
+msgstr "Cerrar nombre de icono Ad-hoc"
+
+msgid "Ad-hoc open icon name"
+msgstr "Abrir nombre de icono Ad-hoc"
+
+msgid "Allow whitespace synth. shortnames"
+msgstr "Permitir espacios en los nombres cortos a generar"
+
+msgid "Altitudes are absolute and not clamped to ground"
+msgstr "Altitudes absolutas, no relativas al suelo"
+
+msgid "Append icon_descr to description"
+msgstr "Añadir descripción de icono a la descripción"
+
+msgid "Base URL for link tag in output"
+msgstr "URL base para marca de enlace en salida"
+
+msgid "Basename prepended to URL on output"
+msgstr "Prefijo de la URL del resultado"
+
+msgid "Category name (Cache)"
+msgstr "Nombre de categoría (Cache)"
+
+msgid "Category number to use for written waypoints"
+msgstr "Número de categoría a usar en los puntos de trazado."
+
+msgid "Color for lines or mapnotes"
+msgstr "Color para líneas o notas de mapa"
+
+msgid "Command unit to power itself down"
+msgstr "Enviar comando de apagado a la unidad"
+
+msgid "Complete date-free tracks with given date (YYYYMMDD)."
+msgstr "Listado completo de trazas de la fecha (AAAAMMDD)."
+
+msgid "Create waypoints from geocache log entries"
+msgstr "Crear puntos de trazado a partir de entradas de log de geocache"
+
+msgid "Database name"
+msgstr "Nombre de la base de datos"
+
+msgid "Database name (filename)"
+msgstr "Nombre de la base de datos (nombre de fichero)"
+
+msgid "Datum (default=NAD27)"
+msgstr "Datum (por defecto=NAD27)"
+
+msgid "Days after which points are considered old"
+msgstr "Días después de los cuales los puntos se consideran antiguos"
+
+msgid "Decimal seconds to pause between groups of strings"
+msgstr "Segundos de pausa (en decimal) entre grupos de cadenas."
+
+msgid "Default category on output (1..16)"
+msgstr "Categoría por defecto del resultado (1..16)"
+
+msgid "Default icon name"
+msgstr "Nombre del icono por defecto"
+
+msgid "Default speed for waypoints (knots/hr)"
+msgstr "Velocidad por defecto para los puntos de trazado (nudos/hora)"
+
+msgid "Degrees output as 'ddd', 'dmm'(default) or 'dms'"
+msgstr "Salida en grados como 'ggg', 'gmm' (defecto) o 'gms'"
+
+msgid "Delete all waypoints"
+msgstr "Borrar todos los puntos de trazado."
+
+msgid "Display labels on track and routepoints (default = 1)"
+msgstr "Mostrar etiquetas en rutas y puntos de ruta (defecto=1)"
+
+msgid "Distance unit [m=metric, s=statute]"
+msgstr "Unidades de distancia [m=metrico,s=imperial]"
+
+msgid "Do not add geocache data to description"
+msgstr "No añadir datos de geocache a la descripción"
+
+msgid "Draw extrusion line from trackpoint to ground"
+msgstr "Dibujar línea de extrusión desde el punto de trazado a tierra."
+
+msgid "Drop route points that do not have an equivalent waypoint (hidden points)"
+msgstr "Descartar puntos de la ruta que no tengan punto de ruta equivalente (oculto)"
+
+msgid "Encrypt hints using ROT13"
+msgstr "Encriptar sugerencias mediante ROT13"
+
+msgid "Encrypt hints with ROT13"
+msgstr "Encriptar sugerencias mediante ROT13"
+
+msgid "Erase device data after download"
+msgstr "Borrar datos del dispositivo después de descargar."
+
+msgid "Export linestrings for tracks and routes"
+msgstr "Exportar cadenas de líneas para tracks y rutas"
+
+msgid "Export placemarks for tracks and routes"
+msgstr "Exportar marcas para tracks y rutas"
+
+msgid "Full path to XCSV style file"
+msgstr "Ruta completa de la hoja de estilo XCSV"
+
+msgid "Generate file with lat/lon for centering map"
+msgstr "Generar fichero con lat/lon para centrar mapa"
+
+msgid "Give points (waypoints/route points) a default radius (proximity)"
+msgstr "Dar a los puntos (puntos de ruta/puntos de la ruta) un radio por defecto (proximidad)"
+
+msgid "GPS datum (def. WGS 84)"
+msgstr "Datum GPS (def. WGS 84)"
+
+msgid "Height in pixels of map"
+msgstr "Alto del mapa, en pixels"
+
+msgid "Ignore event marker icons"
+msgstr "Ignorar iconos de marca de eventos"
+
+msgid "Include extended data for trackpoints (default = 1)"
+msgstr "Incluir datos extendidos para los puntos de ruta."
+
+msgid "Include groundspeak logs if present"
+msgstr "Incluir registros de groundspeak, si existen"
+
+msgid "Include only via stations in route"
+msgstr "Suprimir puntos de ruta calculados"
+
+msgid "Include short name in bookmarks"
+msgstr "Incluir nombre corto en Favoritos"
+
+msgid "Index of name field in .dbf"
+msgstr "Índice del campo nombre en .dbf"
+
+msgid "Index of route (if more the one in source)"
+msgstr "Índice de ruta (si hay más de una en el origen)"
+
+msgid "Index of route to write (if more the one in source)"
+msgstr "Índice de la ruta a escribir (si existe más de una en origen)"
+
+msgid "Index of route/track to write (if more the one in source)"
+msgstr "Índice de la ruta/track a escribir (si existe más de una)"
+
+msgid "Index of track (if more the one in source)"
+msgstr "Índice de traza (si hay más de una en el origen)"
+
+msgid "Index of track to write (if more the one in source)"
+msgstr "Índice de track a escribir (si hay más de una en el origen)"
+
+msgid "Index of URL field in .dbf"
+msgstr "Índice del campo URL en .dbf"
+
+msgid "Infrastructure closed icon name"
+msgstr "Nombre de icono para cerrar infraestructura."
+
+msgid "Infrastructure open icon name"
+msgstr "Nombre de icono para abrir infraestructura."
+
+msgid "Keep turns if simplify filter is used"
+msgstr "Mantener giros si se usa el filtro de simplificación"
+
+msgid "Length of generated shortnames"
+msgstr "Longitud de nombres cortos a generar"
+
+msgid "Length of generated shortnames (default 16)"
+msgstr "Longitud de nombres cortos a generar"
+
+msgid "Line color, specified in hex AABBGGRR"
+msgstr "Color de línea, especificado en hex AABBGGRR"
+
+msgid "Make synth. shortnames unique"
+msgstr "Crear nombres cortos únicos"
+
+msgid "MapSend version TRK file to generate (3,4)"
+msgstr "Versión de fichero TRK de MapSend a generar (3,4)"
+
+msgid "Margin for map. Degrees or percentage"
+msgstr "Márgen para el mapa. Grados de porcentaje."
+
+msgid "Marker type for new points"
+msgstr "Tipo de marcador para puntos nuevos"
+
+msgid "Marker type for old points"
+msgstr "Tipo de marcador para puntos antiguos"
+
+msgid "Marker type for unfound points"
+msgstr "Tipo de marcador para puntos no encontrados"
+
+msgid "Max length of waypoint name to write"
+msgstr "Longitud máxima de nombre de los puntos de rutas a escribir"
+
+msgid "Max number of comments to write (maxcmts=200)"
+msgstr "Máximo número de comentarios a escribir (maxcmts=200)"
+
+msgid "Max shortname length when used with -s"
+msgstr "Longitud máxima de nombre corto cuando se use con -s"
+
+msgid "Max synthesized shortname length"
+msgstr "Longitud máxima de nombre corto a generar"
+
+msgid "Merge output with existing file"
+msgstr "Combinar salida con fichero existente"
+
+msgid "Name of the 'unassigned' category"
+msgstr "Nombre de la categoría 'Sin asignar'"
+
+msgid "New name for the route"
+msgstr "Nuevo nombre de la ruta"
+
+msgid "No separator lines between waypoints"
+msgstr "Sin líneas de separación entre puntos de trazado."
+
+msgid "No whitespace in generated shortnames"
+msgstr "Sin espacios en blanco en nombres cortos."
+
+msgid "Non-stealth encrypted icon name"
+msgstr "Nombre de icono encriptado (No oculto)"
+
+msgid "Non-stealth non-encrypted icon name"
+msgstr "Nombre de icono no encriptado (No oculto)"
+
+msgid "Numeric value of bitrate (baud=4800)"
+msgstr "Valor numérico de bitrate (baudios=4800)"
+
+msgid "Omit Placer name"
+msgstr "Omitir nombre del creador"
+
+msgid "Only read turns; skip all other points"
+msgstr "Sólo leer giros; ignorar todos los demás puntos"
+
+msgid "Path to HTML style sheet"
+msgstr "Ruta de la hoja de estilo HTML"
+
+msgid "Precision of coordinates"
+msgstr "Precisión de las coordenadas."
+
+msgid "Radius for circles"
+msgstr "Radio para los círculos"
+
+msgid "Radius of our big earth (default 6371000 meters)"
+msgstr "Radio de nuestra gran Tierra (por defecto 6371000 metros)"
+
+msgid "Read control points as waypoint/route/none"
+msgstr "Leer puntos de control como punto de ruta/ruta/ninguno"
+
+msgid "Read/Write date format (i.e. DDMMYYYY)"
+msgstr "Formato de fecha en Lectura/Escritura (p.e. DDMMAAAA)"
+
+msgid "Read/Write date format (i.e. yyyy/mm/dd)"
+msgstr "Formato de fecha en Lectura/Escritura (p.e. aaaa/mm/dd)"
+
+msgid "Read/write GPGGA sentences"
+msgstr "Comandos de Lectura/Escritura en GPGGA"
+
+msgid "Read/write GPGSA sentences"
+msgstr "Comandos de Lectura/Escritura en GPGSA"
+
+msgid "Read/write GPRMC sentences"
+msgstr "Comandos de Lectura/Escritura en GPRMC"
+
+msgid "Read/write GPVTG sentences"
+msgstr "Comandos de Lectura/Escritura en GPVTG"
+
+msgid "Read/Write time format (i.e. HH:mm:ss xx)"
+msgstr "Formato de hora en Lectura/Escritura (p.e. HH:mm:ss xx)"
+
+msgid "Retain at most this number of position points (0 = unlimited)"
+msgstr "Almacenar como poco este número de puntos de posición (0=ilimitado)"
+
+msgid "Return current position as a waypoint"
+msgstr "Devolver la posición actual como un punto de ruta"
+
+msgid "Road type changes"
+msgstr "Cambios en tipo de carretera."
+
+msgid "Shortname is MAC address"
+msgstr "El nombre corto es la dirección MAC"
+
+msgid "Speed in bits per second of serial port (baud=4800)"
+msgstr "Velocidad en bits por segundos del puerto serie (4800 baudios)"
+
+msgid "Split input into separate files"
+msgstr "Dividir la entrada en archivos separados"
+
+msgid "Split into multiple routes at turns"
+msgstr "Dividir en múltiples rutas en los giros"
+
+msgid "Stealth encrypted icon name"
+msgstr "Nombre de icono encriptado (Oculto)"
+
+msgid "Stealth non-encrypted icon name"
+msgstr "Nombre de icono no encriptado (Oculto)"
+
+msgid "String to separate concatenated address fields (default=\", \")"
+msgstr "Separar la cadena en campos de dirección concatenados (defecto=\",\")"
+
+msgid "Suppress labels on generated pins"
+msgstr "Quitar etiquetas en pins generados"
+
+msgid "Suppress retired geocaches"
+msgstr "Eliminar geocaches retirados"
+
+msgid "Suppress separator lines between waypoints"
+msgstr "Quitar líneas de separación entre puntos de ruta"
+
+msgid "Suppress use of handshaking in name of speed"
+msgstr "Eliminar uso de handshaking en nombre de velocidad (???)"
+
+msgid "Suppress whitespace in generated shortnames"
+msgstr "Quitar espacios en nombres cortos generados"
+
+msgid "Symbol to use for point data"
+msgstr "Símbolo a usar para los datos de puntos"
+
+msgid "Synthesize track times"
+msgstr "Tratar tiempos de las trazas"
+
+msgid "Target GPX version for output"
+msgstr "Versión GPX destino para la salida"
+
+msgid "Temperature unit [c=Celsius, f=Fahrenheit]"
+msgstr "Unidades de temperatura [c=Celsius, f=Fahrenheit]"
+
+msgid "The icon description is already the marker"
+msgstr "La descripción del icono ya es el marcador"
+
+msgid "Type of .an1 file"
+msgstr "Fichero de tipo .an1"
+
+msgid "Units for altitude (f)eet or (m)etres"
+msgstr "Unidades de altitud (p)íes o (m)etros"
+
+msgid "Units used when writing comments ('s'tatute or 'm'etric)"
+msgstr "Unidades utilizadas en los comentarios ('i'mperial o 'm'étrico')"
+
+msgid "UPPERCASE synth. shortnames"
+msgstr "Nombres cortos a generar en MAYÚSCULAS"
+
+msgid "Use depth values on output (default is ignore)"
+msgstr "Usar valores de profundidad en resultado (por defecto: ignorar)"
+
+msgid "Use proximity values on output (default is ignore)"
+msgstr "Usar valores de proximidad en resultado (por defecto: ignorar)"
+
+msgid "Use shortname instead of description"
+msgstr "Usar el nombre corto en lugar de la descripción"
+
+msgid "Version of gdb file to generate (1,2)"
+msgstr "Versión de fichero gdb a generar (1,2)"
+
+msgid "Version of mapsource file to generate (3,4,5)"
+msgstr "Versión de fichero mapsource a generar (3,4,5)"
+
+msgid "Waypoint background color"
+msgstr "Color de fondo para los puntos de ruta"
+
+msgid "Waypoint foreground color"
+msgstr "Color primer plano para los puntos de ruta"
+
+msgid "Waypoint type"
+msgstr "Tipo de punto de trazado"
+
+msgid "Width in pixels of map"
+msgstr "Ancho del mapa, en pixels"
+
+msgid "Width of lines, in pixels"
+msgstr "Ancho de líneas, en pixels"
+
+msgid "Write timestamps with offset x to UTC time"
+msgstr "Escribir marcas de tiempo con un desplazamiento de 'x' sobre la hora UTC"
+
+msgid "Write tracks compatible with Carto Exploreur"
+msgstr "Crear trazas compatibles con Carto Exploreur"
+
+msgid "Zoom level to reduce points"
+msgstr "Nivel de Zoom para reducir puntos"
+
s, key, value: string;\r
r: TRegistry;\r
u: TUpDown;\r
+ v: Integer;\r
begin\r
r := TRegistry.Create;\r
try\r
if (value <> '(default)') then\r
begin\r
if HasUpDown(TEdit(o.edit), u) then\r
- u.Position := StrToInt(value)\r
+ begin\r
+ if (o.def <> nil) then\r
+ v := StrToIntDef(o.def, 0) else\r
+ v := 0;\r
+ u.Position := StrToIntDef(value, v);\r
+ end\r
else\r
SetStrProp(o.edit, 'Text', value);\r
end;\r
#include <ctype.h>
#include "defs.h"
#include "csv_util.h"
+#include "jeeps/gpsmath.h"
#if CSVFMTS_ENABLED
#define MYNAME "XCSV"
static char *snuniqueopt = NULL;
char *prefer_shortnames = NULL;
char *xcsv_urlbase = NULL;
+static char *opt_datum;
static const char *intstylebuf = NULL;
{"prefer_shortnames", &prefer_shortnames,
"Use shortname instead of description",
NULL, ARGTYPE_BOOL, ARG_NOMINMAX },
+ {"datum", &opt_datum, "GPS datum (def. WGS 84)",
+ NULL, ARGTYPE_STRING, ARG_NOMINMAX},
ARG_TERMINATOR
};
cet_convert_init(p, 1);
xfree(p);
} else
+
+ if (ISSTOKEN(sbuff, "DATUM")) {
+ p = csv_stringtrim(&sbuff[8], "\"", 1);
+ xcsv_file.gps_datum = GPS_Lookup_Datum_Index(p);
+ is_fatal(xcsv_file.gps_datum < 0, MYNAME ": datum \"%s\" is not supported.", p);
+ xfree(p);
+ } else
+
+ if (ISSTOKEN(sbuff, "DATATYPE")) {
+ p = csv_stringtrim(&sbuff[8], "\"", 1);
+ if (case_ignore_strcmp(p, "TRACK") == 0) {
+ xcsv_file.datatype = trkdata;
+ }
+ else if (case_ignore_strcmp(p, "ROUTE") == 0) {
+ xcsv_file.datatype = rtedata;
+ }
+ else if (case_ignore_strcmp(p, "WAYPOINT") == 0) {
+ xcsv_file.datatype = wptdata;
+ }
+ else {
+ fatal(MYNAME ": Unknown data type \"%s\"!\n", p);
+ }
+ xfree(p);
+
+ } else
if (ISSTOKEN(sbuff, "IFIELD")) {
key = val = pfc = NULL;
xcsv_read_style(styleopt);
}
- if (global_opts.masked_objective & (TRKDATAMASK|RTEDATAMASK)) {
- warning(MYNAME " attempt to read %s as a track or route, but this module only supports waypoints on read. Reading as waypoints instead.\n", fname);
+ if ((xcsv_file.datatype == 0) || (xcsv_file.datatype == wptdata)) {
+ if (global_opts.masked_objective & (TRKDATAMASK|RTEDATAMASK)) {
+ warning(MYNAME " attempt to read %s as a track or route, but this format only supports waypoints on read. Reading as waypoints instead.\n", fname);
+ }
}
xcsv_file.xcsvfp = gbfopen(fname, "r", MYNAME);
+ if (opt_datum) {
+ xcsv_file.gps_datum = GPS_Lookup_Datum_Index(opt_datum);
+ is_fatal(xcsv_file.gps_datum < 0, MYNAME ": datum \"%s\" is not supported.", opt_datum);
+ }
}
setshort_badchars(xcsv_file.mkshort_handle, xcsv_file.badchars);
}
-
+ if (opt_datum) {
+ xcsv_file.gps_datum = GPS_Lookup_Datum_Index(opt_datum);
+ is_fatal(xcsv_file.gps_datum < 0, MYNAME ": datum \"%s\" is not supported.", opt_datum);
+ }
}
static void
--- /dev/null
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="http://www.w3.org/1999/XSL/Format"
+ xmlns:exsl="http://exslt.org/common"
+ version="1.0"
+ exclude-result-prefixes="exsl">
+
+
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
+
+<!-- turn on extensions for newer versions of fop. In particular, this makes
+ the XSL generate an fo bookmark-tree, which fop translates into bookmarks
+ in the PDF. RLP -->
+<xsl:param name="fop1.extensions" select="1" />
+
+<!-- This template formats userinput as a block-level element and adds the
+ background and border we use in the HTML doc, for consistency. RLP -->
+<xsl:template match="userinput">
+ <fo:block background-color="#E5E9EB" padding="6pt"
+ border="1pt dashed #000000">
+ <xsl:call-template name="inline.boldmonoseq"/>
+ </fo:block>
+</xsl:template>
+
+<!-- This template is used to get rid of a lot of warnings we were getting
+ from fop due to the fact that it doesn't support table-layout="auto".
+ Auto is apparently the default if no table layout is specified. RLP -->
+<xsl:template match="simplelist">
+ <!-- with no type specified, the default is 'vert' -->
+ <xsl:variable name="explicit.table.width">
+ <xsl:call-template name="dbfo-attribute">
+ <xsl:with-param name="pis"
+ select="processing-instruction('dbfo')"/>
+ <xsl:with-param name="attribute" select="'list-width'"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="table.width">
+ <xsl:choose>
+ <xsl:when test="$explicit.table.width != ''">
+ <xsl:value-of select="$explicit.table.width"/>
+ </xsl:when>
+ <xsl:when test="$default.table.width = ''">
+ <xsl:text>100%</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$default.table.width"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <fo:table xsl:use-attribute-sets="normal.para.spacing">
+ <xsl:attribute name="table-layout">fixed</xsl:attribute>
+ <xsl:attribute name="width">
+ <xsl:value-of select="$table.width"/>
+ </xsl:attribute>
+ <xsl:call-template name="simplelist.table.columns">
+ <xsl:with-param name="cols">
+ <xsl:choose>
+ <xsl:when test="@columns">
+ <xsl:value-of select="@columns"/>
+ </xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ <fo:table-body start-indent="0pt" end-indent="0pt">
+ <xsl:call-template name="simplelist.vert">
+ <xsl:with-param name="cols">
+ <xsl:choose>
+ <xsl:when test="@columns">
+ <xsl:value-of select="@columns"/>
+ </xsl:when>
+ <xsl:otherwise>1</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ </xsl:call-template>
+ </fo:table-body>
+ </fo:table>
+</xsl:template>
+
+
+</xsl:stylesheet>
</para>
<para>
In most cases, the code is as simple to build as running:
- <screen format="linespecific">./configure && make</screen>
</para>
+<para><userinput> ./configure && make</userinput></para>
<para><ulink url="http://expat.sourceforge.net">Expat</ulink>
is strongly recommended for source builds as it is
-required for reading all the XML formats such as GPX.
+required for reading all the XML formats such as GPX. Fedora users
+may need to 'yum install expat-devel'. Ubutnu users may need to
+'apt-get install expat libexpat-dev'.
</para>
<para><ulink url="http://libusb.sourceforge.net">libusb</ulink>
is recommended for OS/X and Linux if you want to use a USB Garmin.
+Fedora users may need to 'yum install expat-devel'. Ubutnu users may
+need to 'apt-get install libusb-dev'.
</para>
<para>There are additional flags that can be passed to configure to
- customize your build of GPSBabel. <screen format="linespecific"> ./configure --help</screen> lists all the supported options, but additionally we have:
+ customize your build of GPSBabel.
</para>
+<para><userinput>./configure --help</userinput></para>
<para>
+lists all the supported options, but additionally we have:
<option>--disable-shapefile</option> Excludes the shapefile support.
</para>
<para>
The following is a list of the datums supported by GPSBabel.
</para>
-<simplelist columns="5">
+<simplelist columns="4">
<member>Adindan</member>
<member>AFG</member>
<member>Ain-El-Abd</member>
</para>
<simplelist columns="5">
+<member>ATV</member>
<member>Airport</member>
<member>Amusement Park</member>
+<member>Anchor</member>
<member>Anchor Prohibited</member>
+<member>Animal Tracks</member>
<member>Asian Food</member>
+<member>Bait and Tackle</member>
<member>Ball Park</member>
<member>Bank</member>
<member>Bar</member>
<member>Beach</member>
<member>Beacon</member>
<member>Bell</member>
+<member>Big Game</member>
<member>Bike Trail</member>
-<member>Blue Circle</member>
-<member>Blue Diamond</member>
-<member>Blue Letter A</member>
-<member>Blue Letter B</member>
-<member>Blue Letter C</member>
-<member>Blue Letter D</member>
-<member>Blue Number 0</member>
-<member>Blue Number 1</member>
-<member>Blue Number 2</member>
-<member>Blue Number 3</member>
-<member>Blue Number 4</member>
-<member>Blue Number 5</member>
-<member>Blue Number 6</member>
-<member>Blue Number 7</member>
-<member>Blue Number 8</member>
-<member>Blue Number 9</member>
-<member>Blue Oval</member>
-<member>Blue Rectangle</member>
-<member>Blue Square</member>
-<member>Blue Triangle</member>
+<member>Blind</member>
+<member>Block, Blue</member>
+<member>Block, Green</member>
+<member>Block, Red</member>
+<member>Blood Trail</member>
<member>Boat Ramp</member>
<member>Border Crossing (Port Of Entry)</member>
<member>Bottom Conditions</member>
<member>Bowling</member>
<member>Bridge</member>
<member>Building</member>
+<member>Buoy, White</member>
<member>Campground</member>
<member>Car</member>
<member>Car Rental</member>
<member>Cemetery</member>
<member>Church</member>
<member>Circle with X</member>
+<member>Circle, Blue</member>
+<member>Circle, Green</member>
+<member>Circle, Red</member>
<member>City (Capitol)</member>
<member>City (Large)</member>
<member>City (Medium)</member>
<member>City (Small)</member>
+<member>City Hall</member>
<member>Civil</member>
<member>Coast Guard</member>
<member>Contact, Afro</member>
<member>Contact, Ball Cap</member>
<member>Contact, Big Ears</member>
<member>Contact, Biker</member>
+<member>Contact, Blonde</member>
<member>Contact, Bug</member>
<member>Contact, Cat</member>
+<member>Contact, Clown</member>
<member>Contact, Dog</member>
<member>Contact, Dreadlocks</member>
<member>Contact, Female1</member>
<member>Contact, Female2</member>
<member>Contact, Female3</member>
+<member>Contact, Glasses</member>
<member>Contact, Goatee</member>
<member>Contact, Kung-Fu</member>
+<member>Contact, Panda</member>
<member>Contact, Pig</member>
<member>Contact, Pirate</member>
<member>Contact, Ranger</member>
<member>Contact, Sumo</member>
<member>Controlled Area</member>
<member>Convenience Store</member>
+<member>Cover</member>
+<member>Covey</member>
<member>Crossing</member>
<member>Dam</member>
<member>Danger Area</member>
<member>Diver Down Flag 1</member>
<member>Diver Down Flag 2</member>
<member>Dock</member>
+<member>Dot, White</member>
<member>Drinking Water</member>
<member>Dropoff</member>
<member>Elevation point</member>
<member>Flag, Blue</member>
<member>Flag, Green</member>
<member>Flag, Red</member>
+<member>Food Source</member>
<member>Forest</member>
+<member>Furbearer</member>
<member>Gambling/casino</member>
<member>Gas Station</member>
<member>Geocache</member>
<member>Geocache Found</member>
-<member>Geographic place name, land</member>
<member>Geographic place name, Man-made</member>
+<member>Geographic place name, land</member>
<member>Geographic place name, water</member>
<member>Ghost Town</member>
<member>Glider Area</member>
<member>Golf Course</member>
-<member>Green circle</member>
-<member>Green Diamond</member>
-<member>Green Letter A</member>
-<member>Green Letter B</member>
-<member>Green Letter C</member>
-<member>Green Letter D</member>
-<member>Green Number 0</member>
-<member>Green Number 1</member>
-<member>Green Number 2</member>
-<member>Green Number 3</member>
-<member>Green Number 4</member>
-<member>Green Number 5</member>
-<member>Green Number 6</member>
-<member>Green Number 7</member>
-<member>Green Number 8</member>
-<member>Green Number 9</member>
-<member>Green Oval</member>
-<member>Green Rectangle</member>
-<member>Green Square</member>
-<member>Green Triangle</member>
+<member>Ground Transportation</member>
<member>Heliport</member>
<member>Horn</member>
<member>Hotel</member>
<member>Intl freeway hwy</member>
<member>Intl national hwy</member>
<member>Italian food</member>
-<member>Large exit without services</member>
<member>Large Ramp intersection</member>
+<member>Large exit without services</member>
+<member>Letter A, Blue</member>
+<member>Letter A, Green</member>
+<member>Letter A, Red</member>
+<member>Letter B, Blue</member>
+<member>Letter B, Green</member>
+<member>Letter B, Red</member>
+<member>Letter C, Blue</member>
+<member>Letter C, Green</member>
+<member>Letter C, Red</member>
+<member>Letter D, Blue</member>
+<member>Letter D, Green</member>
+<member>Letter D, Red</member>
+<member>Letterbox Cache</member>
<member>Levee</member>
+<member>Library</member>
<member>Light</member>
<member>Live Theater</member>
<member>Localizer Outer Marker</member>
<member>Locationless (Reverse) Cache</member>
+<member>Lodge</member>
<member>Lodging</member>
<member>Man Overboard</member>
<member>Marina</member>
<member>Missed approach point</member>
<member>Movie Theater</member>
<member>Multi-Cache</member>
+<member>Multi-Cache</member>
<member>Museum</member>
<member>Navaid, Amber</member>
<member>Navaid, Black</member>
<member>Navaid, White/Red</member>
<member>Non-directional beacon</member>
<member>Null</member>
+<member>Number 0, Blue</member>
+<member>Number 0, Green</member>
+<member>Number 0, Red</member>
+<member>Number 1, Blue</member>
+<member>Number 1, Green</member>
+<member>Number 1, Red</member>
+<member>Number 2, Blue</member>
+<member>Number 2, Green</member>
+<member>Number 2, Red</member>
+<member>Number 3, Blue</member>
+<member>Number 3, Green</member>
+<member>Number 3, Red</member>
+<member>Number 4, Blue</member>
+<member>Number 4, Green</member>
+<member>Number 4, Red</member>
+<member>Number 5, Blue</member>
+<member>Number 5, Green</member>
+<member>Number 5, Red</member>
+<member>Number 6, Blue</member>
+<member>Number 6, Green</member>
+<member>Number 6, Red</member>
+<member>Number 7, Blue</member>
+<member>Number 7, Green</member>
+<member>Number 7, Red</member>
+<member>Number 8, Blue</member>
+<member>Number 8, Green</member>
+<member>Number 8, Red</member>
+<member>Number 9, Blue</member>
+<member>Number 9, Green</member>
+<member>Number 9, Red</member>
<member>Oil Field</member>
<member>Open 24 Hours</member>
+<member>Oval, Blue</member>
+<member>Oval, Green</member>
+<member>Oval, Red</member>
<member>Parachute Area</member>
<member>Park</member>
<member>Parking Area</member>
<member>Post Office</member>
<member>Post Office</member>
<member>Private Field</member>
+<member>Puzzle Cache</member>
+<member>RV Park</member>
<member>Radio Beacon</member>
<member>Ramp intersection</member>
-<member>Red circle</member>
-<member>Red Diamond</member>
-<member>Red Letter A</member>
-<member>Red Letter B</member>
-<member>Red Letter C</member>
-<member>Red Letter D</member>
-<member>Red Number 0</member>
-<member>Red Number 1</member>
-<member>Red Number 2</member>
-<member>Red Number 3</member>
-<member>Red Number 4</member>
-<member>Red Number 5</member>
-<member>Red Number 6</member>
-<member>Red Number 7</member>
-<member>Red Number 8</member>
-<member>Red Number 9</member>
-<member>Red Oval</member>
-<member>Red Rectangle</member>
-<member>Red Square</member>
-<member>Red Triangle</member>
+<member>Rectangle, Blue</member>
+<member>Rectangle, Green</member>
+<member>Rectangle, Red</member>
<member>Reef</member>
<member>Residence</member>
<member>Restaurant</member>
<member>Restricted Area</member>
<member>Restroom</member>
-<member>RV Park</member>
<member>Scales</member>
<member>Scenic Area</member>
<member>School</member>
<member>Skiing Area</member>
<member>Skull and Crossbones</member>
<member>Small City</member>
+<member>Small Game</member>
<member>Soft Field</member>
+<member>Square, Blue</member>
+<member>Square, Green</member>
+<member>Square, Red</member>
<member>Stadium</member>
<member>State Hwy</member>
<member>Steak</member>
<member>Street Intersection</member>
+<member>Stump</member>
<member>Summit</member>
<member>Swimming Area</member>
<member>TACAN</member>
<member>Toll Booth</member>
<member>TracBack Point</member>
<member>Trail Head</member>
+<member>Tree Stand</member>
+<member>Treed Quarry</member>
+<member>Triangle, Blue</member>
+<member>Triangle, Green</member>
+<member>Triangle, Red</member>
+<member>Truck</member>
<member>Truck Stop</member>
<member>Tunnel</member>
<member>U Marina</member>
<member>U stump</member>
+<member>US hwy</member>
<member>Ultralight Area</member>
<member>Unknown Cache</member>
-<member>US hwy</member>
+<member>Upland Game</member>
<member>VHF Omni-range</member>
-<member>Virtual cache</member>
<member>VOR-DME</member>
<member>VOR/TACAN</member>
+<member>Virtual cache</member>
<member>Water Hydrant</member>
+<member>Water Source</member>
+<member>Waterfowl</member>
<member>Waypoint</member>
<member>Webcam Cache</member>
<member>Weed Bed</member>
-<member>White Buoy</member>
-<member>White Dot</member>
+<member>Winery</member>
<member>Wrecker</member>
<member>Zoo</member>
</simplelist>
<preface id="Introduction">
<title>Introduction</title>
<section id="The_Problem">
- <title>The Problem</title>
+ <title>The Problem: Too many incompatible formats</title>
<para> There are simply too many gratuitously different file formats
to hold waypoint, track, and route information in various programs
used by computers and GPS receivers.
standard in XML to contain all the data, but there are too many
programs that don't understand it yet and too much data that are in an
alternate formats.
+</para>
+<para>
+Perhaps you have an Explorist 600 and your friend has a StreetPilot 2720.
+You've collected a a list of your favorite locations as waypoints and you'd
+like to be able to share them. Unfortunately, his copy of Garmin Mapsource
+won't read data created by your copy of Magellan Directroute. What you need
+is a program that converts data bewteen the two programs.
+</para>
+<para>
+But GPSBabel actually does much more...
</para>
</section>
<section id="The_Solution">
<title>The Solution</title>
- <para> I needed to convert waypoints between a couple of formats, so I
+ <para> The original author of GPSBabel, <ulink url="/people/robertlipe.html">Robert Lipe</ulink>, needed to convert waypoints between a couple of formats, so he
whipped up a converter and based it on an extensible foundation so
-that it was easy to add new formats. Most file formats added so far
-have taken under 200 lines of reasonable ISO C so they can be stamped
-out pretty trivially. Formats that are ASCII text delimited in some
-fixed way can be added with no programming at all via our 'style'
-mechanism.
-</para>
+that it was easy to add new formats and made the program freely available. <ulink url="/people/index.html">Many others</ulink> have contributed to the program since then.</para>
+ <para> Most file formats added so far have taken under 200
+ lines of reasonable ISO C so they can be stamped
+ out pretty trivially. Formats that are ASCII text delimited in some
+ fixed way can be added with no programming at all via our
+ <link linkend ="Styles">style</link> mechanism.
+ </para>
</section>
</preface>
format use that file. If you created a new style file called
"mystyle.style" and you want to write the waypoints from
a GPX file named "mine.gpx" to it, you would issue a command like:
-<screen format="linespecific">gpsbabel -i gpx -f mine.gpx -o xcsv,style=mystyle.style -f mine.new</screen>
+</para>
+<para><userinput>gpsbabel -i gpx -f mine.gpx -o xcsv,style=mystyle.style -f mine.new</userinput></para>
+<para>
You might then examine <filename>mine.new</filename> to see if it met
your expectations. If not, you could continue to tweak
<filename>mystyle.style</filename> until it did, rerunning the above
#
# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:
-# NOTE: MS S&T ONLY IMPORTS DATA, IT DOESN'T EXPORT THIS ANYWHERE SO WE CAN
-# HAVE OUR WAY WITH THE FORMATTING.
+# NOTE: MS S&T ONLY IMPORTS DATA, IT DOESN'T
+# EXPORT THIS ANYWHERE SO WE CAN HAVE OUR
+# WAY WITH THE FORMATTING.
#
IFIELD SHORTNAME, "", "%s" # Name
IFIELD LAT_DECIMAL, "", "%f" # Latitude
Describes the character set used by this format. The value given
must be one listed by 'gpsbabel -l'. example:
</para>
-<screen format="linespecific"> ENCODING UTF-8 # Use UTF-8 for input and output.
+<screen format="linespecific"> ENCODING UTF-8 # Use UTF-8 for input and output.
+</screen>
+</section>
+<section id="style_global_datum">
+<title>DATUM</title>
+<para>
+This value specifies the GPS datum to be used on read or write. Valid values for this
+option are listed in <xref linkend="Datums" />.
+</para>
+<screen format="linespecific"> DATUM European 1950
+</screen>
+</section>
+<section id="style_global_datatype">
+<title>DATATYPE</title>
+<para>
+Specifies the kind of data we have to read or write.
+</para>
+<para>
+By default all data are seen as waypoint data. With DATATYPE you are now able to bind
+a specific type to this format. Possible values are WAYPOINT, ROUTE or TRACK.
+</para>
+<screen format="linespecific"> DATATYPE ROUTE # route-only format
</screen>
</section>
</section> <!-- global -->
<para>
example:
</para>
-<screen format="linespecific"> IFIELD SHORTNAME,"","%s" # (write shortname in the output file)
+<screen format="linespecific"> IFIELD SHORTNAME,"","%s"
</screen>
</section>
<para>
examples:
</para>
-<screen format="linespecific"> IFIELD DESCRIPTION,"","%s" # (write description in the output file)
+<screen format="linespecific"> IFIELD DESCRIPTION,"","%s"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific"> IFIELD URL,"","%s" # (writes the URL in the output file)
+<screen format="linespecific"> IFIELD URL,"","%s"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific"> IFIELD URL_LINK_TEXT,"","%s" # (writes link text in the output file)
+<screen format="linespecific"> IFIELD URL_LINK_TEXT,"","%s"
</screen>
</section>
<para>
example:
</para>
-<screen format="linespecific"> IFIELD ICON_DESCR,"","%s" # (writes link text in the output file)
+<screen format="linespecific"> IFIELD ICON_DESCR,"","%s"
</screen>
</section>
<para>
examples:
</para>
-<screen format="linespecific"> IFIELD LAT_HUMAN_READABLE,"","%c %d %f" # (writes N 31 40.000)
+<screen format="linespecific">
+ # (writes N 31 40.000)
+ IFIELD LAT_HUMAN_READABLE,"","%c %d %f"
+ # (writes "31 deg 40.000 min N")
IFIELD LAT_HUMAN_READABLE,"","%d deg %f min %c"
- # (writes "31 deg 40.000 min N")
- # Note that this string will confuse the reading routine due
- # to the letter "n" in "min" and the letter "e" in "deg."
- IFIELD LAT_HUMAN_READABLE,"","%d %d %f%c" # (writes 31 40 00.000N)
+ # Note that this string will confuse the reading routine due
+ # to the letter "n" in "min" and the letter "e" in "deg."
+ # (writes 31 40 00.000N)
+ IFIELD LAT_HUMAN_READABLE,"","%d %d %f%c"
</screen>
</section>
<title>Usage</title>
<sect1 id="Invocation">
<title>Invocation</title>
- <para>Invocation was meant to be flexible. Unfortunately,
- that can sometimes lead to unwieldy command lines.</para>
-
<para>
If you're using GPSBabel, you will need to know how to do at least two things:
read data from a file, and write it to another file. There are four basic
-commands you need to know to do those things:
+options you need to know to do those things:
</para>
<segmentedlist>
<?dbhtml list-presentation="table"?>
The <parameter class="command">format</parameter> parameters in the above list
refer to the names of formats or file types supported by GPSBabel.
</para>
-<screen format="linespecific">gpsbabel -? </screen>
+<para><userinput>gpsbabel -? </userinput></para>
<para>will always show you the supported file types. In this document, the
various supported formats are listed in <xref linkend="The_Formats" />. The
name that you would use on the command line follows the format name in
parentheses.
</para>
<para>
+Options are <emphasis>always</emphasis> processed in order from left to right.
+In practical terms, this means that things you want to read should appear
+in the command before things you want to write.
+</para>
+<para>
The <parameter class="command">filename</parameter> parameters specify the
name of a file to be read or written.
</para>
this program, just tell it what you're reading, where to read
it from, what you're writing, and what to write it to. For
example:</para>
- <screen format="linespecific">gpsbabel -i geo -f /tmp/geocaching.loc -o gpx -F /tmp/geocaching.gpx</screen>
+ <para><userinput>gpsbabel -i geo -f /tmp/geocaching.loc -o gpx -F /tmp/geocaching.gpx</userinput></para>
<para>tells it to read the file "/tmp/geocaching.loc" in geocaching.com
format and create a new file in GPX format.</para>
<para> This command will read from a Magellan unit attached
to the first serial port on a Linux system (device names will
vary on other OSes) and write them as a geocaching loc file.
The second command does the same on Microsoft Windows.</para>
- <screen format="linespecific">gpsbabel -i magellan -f /dev/ttyS0 -o geo -F mag.loc</screen>
- <screen format="linespecific">gpsbabel -i magellan -f com1 -o geo -F mag.loc</screen>
+ <para><userinput>gpsbabel -i magellan -f /dev/ttyS0 -o geo -F mag.loc</userinput></para>
+ <para><userinput>gpsbabel -i magellan -f com1 -o geo -F mag.loc</userinput></para>
<para>Optionally, you may specify <parameter moreinfo="none">"-s"</parameter> in any command line. This
causes the program to ignore any "short" names that may be
present in the source data format and synthesize one from the
the 'GC1234' ones that are optimized for NMEA-only receivers.
A geocacher with a Magellan receiver may thus find commands
like this useful.</para>
- <screen format="linespecific"> gpsbabel -s -i geo -f geocaching.loc -o magellan -F /dev/ttyS0 </screen>
- <screen format="linespecific"> gpsbabel -s -i geo -f geocaching.loc -o magellan -F com1</screen>
+ <para><userinput>gpsbabel -s -i geo -f geocaching.loc -o magellan -F /dev/ttyS0 </userinput></para>
+ <para><userinput>gpsbabel -s -i geo -f geocaching.loc -o magellan -F com1</userinput></para>
+ </sect1>
+ <sect1 id="Suboptions">
+ <title>Suboptions</title>
+ <para>
+ Many of the available format options in GPSBabel can themselves
+ take options. While we try to make all the formats do the most
+ sensible thing possible without any extra options, this allows
+ great power and flexibility in the operation of the program.
+ </para>
+ <para>
+ Suboptions are comma separated and immediately follow the option
+ itself. The available suboptions are listed on the individual
+ format pages. We'll make an example from <xref linkend="fmt_kml" />:
+ </para>
+ <para><userinput>gpsbabel -i gpx -f file.gpx -o kml,deficon="file://myicon.png",lines=0 -F one.kml -o kml -F two.kml</userinput></para>
+ <para>
+ This command will read the GPX file <filename>file.gpx</filename>
+ and create two KML files. <filename>one.kml</filename> will
+ have the given icon and no lines between track and routepoints.
+ <filename>two.kml</filename> will be created with the defaults used
+ in the KML writer.
+ </para>
+ <para>
+ Suboptions for the various formats allow you to change serial speeds,
+ pass arguments to filters, change the type of file written, override
+ icon defaults, and lots of other things. The suboptions for each
+ filetype are documented on the page in this document that describes
+ the option itself.
+ </para>
</sect1>
<sect1 id="Advanced_Usage">
<title>Advanced Usage</title>
<parameter moreinfo="none">-i</parameter> argument is seen.
Files are read in the order they appear. So you could merge
three input files into one output file with: </para>
- <screen format="linespecific">gpsbabel -i geo -f 1.loc -f 2.loc -f 3.loc -o geo -F big.loc</screen>
+ <para><userinput>gpsbabel -i geo -f 1.loc -f 2.loc -f 3.loc -o geo -F big.loc</userinput></para>
<para>You can merge files of different types:</para>
- <screen format="linespecific">gpsbabel -i geo -f 1.loc -i gpx -f 2.gpx -i pcx 3.pcx \
--o gpsutil -F big.gps</screen>
+ <para><userinput>gpsbabel -i geo -f 1.loc -i gpx -f 2.gpx -i pcx 3.pcx
+-o gpsutil -F big.gps</userinput></para>
<para> You can write the same data in different output formats:</para>
- <screen format="linespecific">gpsbabel -i geo -f 1.loc -o gpx -F 1.gpx -o pcx 1.wpt</screen>
+ <para><userinput>gpsbabel -i geo -f 1.loc -o gpx -F 1.gpx -o pcx -F 1.wpt</userinput></para>
<para>If you want to change the character set of input or/and
output side you can do this with the option <option>-c
<character set></option>. You can get a complete list
of supported character sets with "gpsbabel -l". To change
the character set on both sides you should do this:</para>
- <screen format="linespecific">gpsbabel -i xcsv,style=foo.style -c latin1 -f foo \
- -o xcsv,style=bar.style -c ms-ansi -F bar</screen>
+ <para><userinput>gpsbabel -i xcsv,style=foo.style -c latin1 -f foo -o xcsv,style=bar.style -c ms-ansi -F bar</userinput></para>
<para>Note, that some formats has a fixed character set and ignore this option.</para>
</sect1>
<sect1 id="Route_And_Track_Modes">
<title>Route and Track Modes</title>
- <para> Most formats will make reasonable attempt to work
+ <para> Most formats supported by GPSBabel will make a reasonable attempt to work
transparently with waypoints, tracks, and routes. Some
- formats, like 'garmin' and 'magellan' require the <parameter moreinfo="none">-t</parameter> flag to work with tracks and
+ formats, like <link linkend="fmt_garmin">garmin</link> and <link linkend="fmt_magellan">magellan</link> require the <parameter moreinfo="none">-t</parameter> flag to work with tracks and
<parameter moreinfo="none">-r</parameter> to work with
routes. <parameter moreinfo="none">-w</parameter> is for
waypoints, and is the default. So if you wanted to read all
- data from your unit into a gpx file, you might use a command
+ data from a Magellan Meridian GPS receiver into a gpx file, you might use a command
like:</para>
- <screen format="linespecific"> gpsbabel -t -r -w -i magellan -f com1: -o gpx -F backup.gpx</screen>
+ <para><userinput> gpsbabel -t -r -w -i magellan -f com1: -o gpx -F backup.gpx</userinput></para>
<para> Tracks and routes are advanced features and don't try
to handle every possible hazard that can be encountered
during a conversion. If you're merging or converting files
of similar limitations, things work very well.</para>
+ <para> Many of those hazards can be overcome with our filters
+ but there are often compromises to be made. For example, if you
+ have a GPX route that contains 150 turn points but you're sending
+ the route to a GPS receiver that supports only 30 turnpoints, something has
+ to go. One might use our 'simplify' filter to produce a route that
+ retained the 30 most mathematically significant turnpoints but that
+ may not really be the route you had in mind.
+ </para>
<para> Tracks and routes will sometimes be converted to a
list of waypoints when necessary, f.i. when writing into one
of the CSV formats. The inverse operation is not supported
(i.e. wrapper applications using GPSBabel in the background).
The inifile mechanism can be disabled with an empty filename.
</para>
- <screen format="linespecific">gpsbabel -p "" -i gpx -f something.gpx -o tiger -F -</screen>
+ <para><userinput>gpsbabel -p "" -i gpx -f something.gpx -o tiger -F -</userinput></para>
</sect1>
<sect1 id="tracking">
<title>Realtime tracking</title>
<para>
- Introduced in GPSBabel 1.3.1, we now have an <emphasis>experimental</emphasis> feature for realtime tracking via the new '-T' option. This reads position reports from selected formats and writes an output file when a position report is received.
+ Introduced in GPSBabel 1.3.1, we now have an <emphasis>experimental</emphasis> feature for realtime tracking via the new <option>-T</option> option. This reads position reports from selected formats and writes an output file when a position report is received.
</para>
<para>
As of this writing, Garmin's PVT protocol and NMEA are supported
inputs and KML is supported on output. Additional formats
may be added by interested parties later.
</para>
+ <para><userinput>gpsbabel -T -i garmin -f usb: -o kml -F xxx.kml</userinput></para>
<para>
- <screen format="linespecific">gpsbabel -T -i garmin -f usb: -o kml -F xxx.kml</screen>
Will read the USB-connected Garmin and rewrite 'xxx.kml' atomically,
suitable for a self-refreshing network link in Google Earth.
</para>
<title>Batch mode (command files)</title>
<para>
In addition to reading arguments from the command line, GPSBabel can
- read directions from batch (or command) files via the '-b' option.
+ read directions from batch (or command) files via the <option>-b</option> option.
</para>
<para>
These files are ideal for holding long command lines, long file lists, complex filters
and so on. You can use all GPSBabel options and combinations when writing
- such files. Nesting batch files by using the '-b' option within a batch file is supported.
+ such files. Nesting batch files by using the <option>-b</option> option within a batch file is supported.
</para>
<para>
Here is an example demonstrating segmenting a large command line
by placing the input and filtering directives in a file called 'all_my_files'.
- <screen format="linespecific">gpsbabel -b all_my_files -o gdb -F all_my_tracks.gdb</screen>
</para>
+ <para><userinput>gpsbabel -b all_my_files -o gdb -F all_my_tracks.gdb</userinput></para>
<para>
'all_my_files' could look like this:
</para>
would include only points within one mile of the section of Lima Road
covered by the arc.
</para>
-<screen format="linespecific">gpsbabel -i geo -f 1.loc -x arc,file=lima_rd.txt,distance=1 -o mapsend -F 2.wpt</screen>
+<para><userinput>gpsbabel -i geo -f 1.loc -x arc,file=lima_rd.txt,distance=1 -o mapsend -F 2.wpt</userinput></para>
</example>
</para>
<example id="example_discard_filter">
<title>Using the discard filter</title>
-<screen format="linespecific"> gpsbabel -i gpx -f in.gpx -x discard,hdop=10,vdop=20,hdopandvdop -o gpx -F out.gpx</screen>
+<para><userinput> gpsbabel -i gpx -f in.gpx -x discard,hdop=10,vdop=20,hdopandvdop -o gpx -F out.gpx</userinput></para>
</example>
<para> Contributed by Tobias Minich.</para>
<link linkend="fmt_gpx">gpx</link> file that more than likely
contains only unique points and point data.
</para>
- <screen format="linespecific"> gpsbabel -i gpx -f 1.gpx -f 2.gpx -x duplicate,location,shortname -o gpx -F merged_with_no_dupes.gpx</screen>
+ <para><userinput> gpsbabel -i gpx -f 1.gpx -f 2.gpx -x duplicate,location,shortname -o gpx -F merged_with_no_dupes.gpx</userinput></para>
</example>
This command line reads track.gpx and inserts points wherever two adjacent
trackpoints are more than 10 seconds apart:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f track.gpx -x interpolate,time=10 -o gpx -F newtrack.gpx</screen>
+<para><userinput>gpsbabel -i gpx -f track.gpx -x interpolate,time=10 -o gpx -F newtrack.gpx</userinput></para>
<para>
This command reads track.gpx and inserts points wherever two adjacent
trackpoints are more than 15 kilometers apart:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f track.gpx -x interpolate,distance=15k -o gpx -F newtrack.gpx</screen>
+<para><userinput>gpsbabel -i gpx -f track.gpx -x interpolate,distance=15k -o gpx -F newtrack.gpx</userinput></para>
<para>
This command reads track.gpx and inserts points wherever two adjacent
trackpoints are more than 2 miles apart:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f track.gpx -x interpolate,distance=2m -o gpx -F newtrack.gpx</screen>
+<para><userinput>gpsbabel -i gpx -f track.gpx -x interpolate,distance=2m -o gpx -F newtrack.gpx</userinput></para>
</example>
you may use this filter to remove the waypoints and the routes
with this command:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f bigfile.gpx -x nuketypes,waypoints,routes -o gpx -F tracksonly.gpx</screen>
+<para><userinput>gpsbabel -i gpx -f bigfile.gpx -x nuketypes,waypoints,routes -o gpx -F tracksonly.gpx</userinput></para>
</example>
example, the duplicate filter is used to remove a list of waypoints to be
ignored from a larger collection of waypoints:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f waypoints.gpx -i csv -f to_ignore.csv -x duplicate,shortname,all -o gpx -F filtered.gpx</screen>
+<para><userinput>gpsbabel -i gpx -f waypoints.gpx -i csv -f to_ignore.csv -x duplicate,shortname,all -o gpx -F filtered.gpx</userinput></para>
</example>
<example id="Correcting_Cache_Locations">
<title>Using the duplicate filter to correct the locations of "puzzle"
geocaches</title>
-<screen format="linespecific">gpsbabel -i gpx -f 43622.gpx -i csv -f corrections.csv -x duplicate,shortname,correct -o gpx -F 43622-corrected.gpx</screen>
+<para><userinput>gpsbabel -i gpx -f 43622.gpx -i csv -f corrections.csv -x duplicate,shortname,correct -o gpx -F 43622-corrected.gpx</userinput></para>
<para>
After this command is run, the waypoints in the output file will have all
of the descriptive information from <filename>43622.gpx</filename>, but
Suppose you want to merge tracks recorded with two different GPS devices
at the same time. To do that, use this command line:
</para>
-<screen format="linespecific">gpsbabel -t -i gpx -f john.gpx -i gpx -f doe.gpx -x track,merge,title="COMBINED LOG" -o gpx -F john_doe.gpx</screen>
+<para><userinput>gpsbabel -t -i gpx -f john.gpx -i gpx -f doe.gpx -x track,merge,title="COMBINED LOG" -o gpx -F john_doe.gpx</userinput></para>
</example>
<para>
The following command line will shift all tracks to be one hour later.
</para>
-<screen format="linespecific">gpsbabel -t -i gpx -f in.gpx -x track,move=+1h -o gpx -F out.gpx</screen>
+<para><userinput>gpsbabel -t -i gpx -f in.gpx -x track,move=+1h -o gpx -F out.gpx</userinput></para>
</example>
<para> For example, to split the track if the distance between
points is greater than 100 meters, use this:</para>
- <screen format="linespecific">
-gpsbabel -t \
- -i gpx -f in.gpx \
- -x track,pack,sdistance=0.1k" \
+ <para><userinput>
+gpsbabel -t
+ -i gpx -f in.gpx
+ -x track,pack,sdistance=0.1k"
-o gpx -F out.gpx
-</screen>
+</userinput></para>
<para> The sdistance option can be combined with the split option.
The track then will be split only if both time and distance
interval exceeds the supplied values. This technique can be used to
This example splits the track
if the device is without signal for at least 5 minutes
and during this time moves more than 300 meters:</para>
- <screen format="linespecific">
-gpsbabel -t \
- -i gpx -f in.gpx \
- -x track,pack,sdistance=0.3k,split=5m \
+ <para><userinput>
+gpsbabel -t
+ -i gpx -f in.gpx
+ -x track,pack,sdistance=0.3k,split=5m
-o gpx -F out.gpx
-</screen>
+</userinput></para>
split a single tracks into separate tracks for each day and
name them, use this:
</para>
- <screen format="linespecific">
-gpsbabel -t -i gpx -f in.gpx -x \
- track,split,title="ACTIVE LOG \
- # %Y%m%d" -o gpx -F out.gpx</screen>
+ <para><userinput> gpsbabel -t -i gpx -f in.gpx -x track,split,title="ACTIVE LOG # %Y%m%d" -o gpx -F out.gpx</userinput></para>
<para> If the input has multiple tracks, pack them together before
splitting them back apart per day thusly: </para>
- <screen format="linespecific">
-gpsbabel -t -i gpx -f in.gpx \
- -x track,pack,split,title="ACTIVE LOG # %D" \
- -o gpx -F out.gpx</screen>
+ <para><userinput> gpsbabel -t -i gpx -f in.gpx
+ -x track,pack,split,title="ACTIVE LOG # %D"
+ -o gpx -F out.gpx</userinput></para>
<para> Additionally you can add an interval to the split
option. With this the track will be split if the time
between two points is greater than this parameter. The
</para>
<para> For example, to split a track based on an four hour
interval, use this:</para>
- <screen format="linespecific">
-gpsbabel -t \
- -i gpx -f in.gpx \
- -x track,pack,split=4h,title="LOG # %c" \
+ <para><userinput>
+gpsbabel -t
+ -i gpx -f in.gpx
+ -x track,pack,split=4h,title="LOG # %c"
-o gpx -F out.gpx
-</screen>
+</userinput></para>
To get only the parts of a track that were mapped on 20 July 2005
between 10 AM and 6 PM, use this command line:
</para>
-<screen format="linespecific">gpsbabel -t -i gpx -f in.gpx -x track,start=2005072010,stop=2005072018 -o gpx -F out.gpx </screen>
+<para><userinput>gpsbabel -t -i gpx -f in.gpx -x track,start=2005072010,stop=2005072018 -o gpx -F out.gpx </userinput></para>
</example>
--- /dev/null
+<para>
+This option, when used in connction with the wpt, rte, or trk options, tells
+GPSBabel to delete the source data after conversion. This is most useful if
+you are trying to avoid duplicated data in the output.
+</para>
+<example id="transform_del">
+<title>Convert a GPX track to GPX waypoints, tossing the original track</title>
+<para><userinput>gpsbabel -i gpx -f blah.gpx -x transform,wpt=trk,del -o gpx -F converted.gpx</userinput></para>
+</example>
--- /dev/null
+<para>
+This option selects the destination type of this filter to be routes. Choose this when you want to convert tracks into waypoints routes. A single route will be created in the sequence they appear in the input.
+</para>
+<example id="transform_to_rte">
+<title>Converting a pile of waypoints to a GPX route</title>
+<para>
+Say you you have a data file that came from CSV file that you want to convert
+to a GPX route that can be loaded into Mapsource. Use the following command:
+</para>
+<para><userinput>gpsbabel -i csv -f blah.txt -x transform,rte=wpt -o gdb -F blah.gdb</userinput></para>
+</example>
--- /dev/null
+<para>
+This option selects the destination type of this filter to be tracks.
+Choose this when you want to create tracks from a list of waypoints or routes.
+A single track will be created in the sequence they appear in the input.
+</para>
+<example id="transform_to_trk">
+<title>Converting a pile of waypoints to a GPX track</title>
+<para>
+Say you you have a data file that came from CSV file that you want to convert
+to a GPX track that can be loaded into Mapsource. Use the following command:
+</para>
+<para><userinput>gpsbabel -i csv -f blah.txt -x transform,trk=wpt -o gdb -F blah.gdb</userinput></para>
+</example>
--- /dev/null
+<para>
+This option selects the destination type of this filter to be waypoints.
+Choose this when you want to convert tracks or routes into waypoints.
+</para>
+<example id="transform_to_wpt">
+<title>Converting a track to a sequence of waypoints</title>
+<para>
+Say you you have a KML file that contains a track but you want to convert it to a CSV file that can contain only waypoints, perhaps to import into a spreadsheet. Use the following command:
+</para>
+<para><userinput>gpsbabel -i kml -f blah.kml -x transform,wpt=trk -o csv -F blah.txt</userinput></para>
+</example>
called mycounty.txt. This command line will give you only the points
in your county:
</para>
-<screen format="linespecific">gpsbabel -i geo -f 1.loc -x polygon,file=mycounty.txt -o mapsend -F 2.wpt</screen>
+<para><userinput>gpsbabel -i geo -f 1.loc -x polygon,file=mycounty.txt -o mapsend -F 2.wpt</userinput></para>
</example>
<example id="example_in_or_close_to">
<title>Using the polygon and arc filters to find points in or nearly in a
buffer zone around it in case there are points nearby that should be in the
polygon but aren't quite.
</para>
-<screen>
+<para><userinput>
gpsbabel -i gpx -f points.gpx -x stack,push -x polygon,file=mycounty.txt
-x stack,swap -x arc,file=mycounty.txt,distance=1k -x stack,pop,append
-x duplicate,shortname -o gpx -F nearmycounty.gpx
-</screen>
+</userinput></para>
<para>
This command makes a copy of the points, finds the ones that are in your
your county, swaps that result with the copy of the original set of points,
The following command removes multiple points that are within
one foot of each other, leaving just one.
</para>
-<screen format="linespecific">gpsbabel -i geo -f 1.loc -f 2.loc -x position,distance=1f -o mapsend -F 3.wpt</screen>
+<para><userinput>gpsbabel -i geo -f 1.loc -f 2.loc -x position,distance=1f -o mapsend -F 3.wpt</userinput></para>
</example>
<para>This example command line would include only points within 1 1/2 miles
of N30.000 W 90.000</para>
-<screen format="linespecific">gpsbabel -i geo -f 1.loc -x radius,distance=1.5M,lat=30.0,lon=-90.0 -o mapsend -F 2.wpt</screen>
+<para><userinput>gpsbabel -i geo -f 1.loc -x radius,distance=1.5M,lat=30.0,lon=-90.0 -o mapsend -F 2.wpt</userinput></para>
</example>
wish to use with a Magellan GPS receiver that only supports up to 50 points
in a route:
</para>
-<screen format="linespecific">gpsbabel -r -i saroute -f RoadTrip.anr -x simplify,count=50 -o magellan -F grocery.rte</screen>
+<para><userinput>gpsbabel -r -i saroute -f RoadTrip.anr -x simplify,count=50 -o magellan -F grocery.rte</userinput></para>
duplicates can be removed with the DUPLICATE filter; see
above.)
</para>
- <screen format="linespecific">
-gpsbabel -i gpx -f in.gpx \
- -x stack,push,copy \
- -x polygon,file=county_a.txt \
- -x stack,swap \
- -x polygon,file=county_b.txt \
- -x stack,pop,append \
+ <para><userinput>
+gpsbabel -i gpx -f in.gpx
+ -x stack,push,copy
+ -x polygon,file=county_a.txt
+ -x stack,swap
+ -x polygon,file=county_b.txt
+ -x stack,pop,append
-o gpx -F out.gpx
-</screen>
+</userinput></para>
<para> This example reads a large list of waypoints and
extracts the points within 20 miles of each of two cities,
writing the waypoint descriptions into two different PalmDoc
files and exporting all of the points to the GPS receiver:
</para>
- <screen format="linespecific">
-gpsbabel -i gpx -f indiana.gpx \
- -x stack,push,copy \
- -x radius,lat=41.0765,lon=-85.1365,distance=20m \
- -o palmdoc,dbname=Fort\ Wayne -F fortwayne.pdb \
- -x stack,swap \
- -x radius,lat=39.7733,lon=-86.1433,distance=20m \
- -o palmdoc,dbname=Indianapolis -F indianapolis.pdb \
- -x stack,pop,append \
+ <para><userinput>
+gpsbabel -i gpx -f indiana.gpx
+ -x stack,push,copy
+ -x radius,lat=41.0765,lon=-85.1365,distance=20m
+ -o palmdoc,dbname=Fort\ Wayne -F fortwayne.pdb
+ -x stack,swap
+ -x radius,lat=39.7733,lon=-86.1433,distance=20m
+ -o palmdoc,dbname=Indianapolis -F indianapolis.pdb
+ -x stack,pop,append
-o magellan -F fwaind.wpt
-</screen>
+</userinput></para>
</para>
<para>
The following example show you how to create a route from a waypoint table.
- <screen format="linespecific">gpsbabel -i csv waypts.txt -x transform,rte=wpt -o gpx -F route.gpx</screen>
+</para>
+ <para><userinput>gpsbabel -i csv waypts.txt -x transform,rte=wpt -o gpx -F route.gpx</userinput></para>
+<para>
Only the first letter of option value decides which transformation will be done.
Depending on the used option it can be only 'W' for waypoints, 'R' for routes or
'T' for tracks.
--- /dev/null
+<para>
+GPSBabel supports .wpr and .trl files for Alan Map500 devices running operating
+system versions 2.xx.
+</para>
+
+<para>
+.trl contain files tracklogs. If you use a CF-Card based
+operating system, tracklog files must have a <filename>.TRL</filename> extension when
+copied to the CF-Card. The default filename is <filename>TEMP_TRK.TRL</filename>.
+Only one <filename>.TRL</filename> file may be present.
+</para>
+
+<para>
+Alan's operating system 3.0 for Map500 is not supported yet.
+At the time of this writing, OS3 is still beta.
+Documentation on the new dataformats is sparse.
+</para>
+
+<para>
+The Alan Map500 handheld GPSr is identical to the Holux GM101.
+This GPSBabel module has only been tested against the Alan Map500.
+Still, if you use a GM101, GPSBabel will probably be able to convert
+your waypoints, routes and tracklogs.
+</para>
+
+<para>
+For more information on the Alan Map500 visit
+<ulink url="http://www.alan-electronics.de/gps/gpsuebersicht.php3">Alan Germany</ulink>. There is very informative <ulink url="http://www.alan-germany.de/forum/index.php">forum</ulink>, too. The forum language is German but posts in English will be answered, too.
+</para>
--- /dev/null
+<para>
+GPSBabel supports .wpr and .trl files for Alan Map500 devices running operating
+system versions 2.xx.
+</para>
+
+<para>
+.wpr files contain waypoints and routes. If you use a CF-Card based
+operating system, waypoint files must have a <filename>.WPR</filename> extension when
+copied to the CF-Card. The default filename is <filename>TEMPWPRT.WPR</filename>.
+Only one <filename>.WPR</filename> file may be present.
+</para>
+
+<para>
+Alan's operating system 3.0 for Map500 is not supported yet.
+At the time of this writing, OS3 is still beta.
+Documentation on the new dataformats is sparse.
+</para>
+
+<para>
+The Alan Map500 handheld GPSr is identical to the Holux GM101.
+This GPSBabel module has only been tested against the Alan Map500.
+Still, if you use a GM101, GPSBabel will probably be able to convert
+your waypoints, routes and tracklogs.
+</para>
+
+<para>
+For more information on the Alan Map500 visit
+<ulink url="http://www.alan-electronics.de/gps/gpsuebersicht.php3">Alan Germany</ulink>. There is very informative <ulink url="http://www.alan-germany.de/forum/index.php">forum</ulink>, too. Forum language is German but posts in English will be answered,
+too.
+</para>
<para>
-This format supports the DeLorme ".an1" drawing file format. It can
+This format supports the <ulink url="http://www.delorme.com">DeLorme</ulink> ".an1" drawing file format. It can
currently be used to either read or write drawing files. If you use
this format to create drawing files with routes or waypoints from another
source, by default it will create "Red Flag" symbols for waypoints, and
layers by doing something like this:
</para>
-<screen format="linespecific">gpsbabel -i an1 -f one.an1 -f two.an1 -o an1 -F merged.an1</screen>
+<para><userinput>gpsbabel -i an1 -f one.an1 -f two.an1 -o an1 -F merged.an1</userinput></para>
<para>
In this case, the merged data will contain all of the
<link linkend="filter_polygon">polygon</link> filters. See those filters
for more information.
</para>
+<para>
+The arc format reads two numeric fields, a latitude and a longitude,
+in any format recognized as <link linkend="style_def_lathuman">human
+readable</link> and writes as simple degrees decimal. It really is
+intended for GPSBabel's own internal use more than general use, though
+it turns out to be a convenient way of expressing simple polylines and
+polygons.
+</para>
<para>
This format reads the binary (.gpb) track logs recorded on
- Dell Axim Navigation Systems.
+ <ulink url="http://www.dell.com">Dell</ulink> Axim Navigation Systems.
</para>
<para>
-<para>Serial download protocol for the Brauniger IQ series of
+<para>Serial download protocol for the <ulink url="http://www.brauniger.com">Brauniger</ulink> IQ series of
barograph recording flight instruments. This format creates a
track of altitude vs time which can be merged with a GPS track
of the same flight to create a three dimensional IGC file. </para>
</para>
<example id="sample_bcr_command">
<title>Sample BCR command with all options</title>
- <screen format="linespecific">gpsbabel -r -i gpx -f in.gpx -o bcr,index=1,name="From A to B",radius=6371012 -F a_to_b.bcr</screen>
+ <para><userinput>gpsbabel -r -i gpx -f in.gpx -o bcr,index=1,name="From A to B",radius=6371012 -F a_to_b.bcr</userinput></para>
</example>
- <para>Support for Cambridge/Winpilot flight analysis and planning software for
- glider pilots. </para>
+ <para>Support for
+<ulink url="http://www.cambridge-aero.com/products.htm">Cambridge</ulink>
+and <ulink url="http://www.winpilot.com"> Winpilot</ulink>
+ flight analysis and planning software for glider pilots. </para>
- <para>Cetus GPS <ulink url="http://www.cetusgps.dk/">www.cetusgps.dk</ulink> is a program for
+ <para><ulink url="http://www.cetusgps.dk/">Cetus GPS</ulink> is a program for
Palm/OS. Working with Ron Parker and Kjeld Jensen, we can now read
and write files for that program.</para>
- <para>This is the format used by CoastalExplorer (tm). The
+ <para>This is the format used by <productname>CoastalExplorer</productname>. The
format is XML with items uniquely identified by Windows-style UUIDs.
<ulink url="http://www.rosepointnav.com">http://www.rosepointnav.com</ulink>
</para>
<para>
-These data files are "character" separated text files like
+<productname>CompeGPS</productname> data files are "character" separated text files like
the pcx format. "Character" means special data lines can have their
own separator.
</para>
- <para> This code is mostly intended to convert CoPilot Flight
-Planner for Palmd/OS atabases into other formats. You probably should
+ <para> This code is mostly intended to convert <ulink url="http://xcski.com/~ptomblin/CoPilot/">CoPilot Flight
+Planner for Palm/OS"</ulink> databases into other formats. You probably should
not use this to write CoPilot databases, although the code is there,
because GPSBabel doesn't convert magnetic declination values.</para>
+<para>This version now reads all CoPilot file versions up to 4, but only
+writes version 4 files. If you have a need for a version flag, please let
+me know.</para>
<para> Questions, bug reports, etc, to ptomblin at
xcski.com</para>
<para>
<para>
-This format supports <productname>cotoGPS</productname>, a Palm GPS program.
+This format supports <productname>cotoGPS</productname>, a <productname>Palm</productname> GPS program.
It can read both track and marker (waypoint) files. It is currently unable
to write track files, so only marker files can be written. The marker
categories are written to and read from the icon description. The 'Not
- <para> With this format we can read CarteSurTable data files.
-CarteSurTable is a shareware program widely used in France. The data
+ <para> With this format we can read <ulink url="http://phgiraud.free.fr/CarteSurTable/CarteSurTable.htm">CarteSurTable</ulink> data files.
+ <ulink url="http://phgiraud.free.fr/CarteSurTable/CarteSurTable.htm">CarteSurTable</ulink> is a shareware program widely used in France. The data
inside have to be seen as a mixture of a waypoints list, one route and
-several tracks. <ulink url="http://phgiraud.free.fr/CarteSurTable/CarteSurTable.htm">phgiraud.free.fr</ulink>
+several tracks.
</para>
<para> There are a billion variants of Comma Separated Value
-data. This is the one that makes Delorme S&A Deluxe 9 happy. It's
+data. This is the one that makes <ulink url="http://www.delorme.com">Delorme</ulink> <productname>S&A Deluxe 9</productname> happy. It's
also a very simple program and useful for many other programs like
spreadsheets.</para>
- <para> CSV is also the correct format for Lowrance MapCreate,
+ <para> CSV is also the correct format for
+ <productname>Lowrance MapCreate</productname>,
their commercial mapping program, or GDM6 (their free waypoint
manager) for iFinder which is available at <ulink url="http://www.lowrance.com/Software/GDM6/Default.asp">lowrance.com</ulink>
</para>
-
+ <para>
+ On write, this format writes simple "latitude, longitude" pairs, but
+on read it will read anything supported by our <link linkend="style_def_lathuman">human readable</link> definition.
+ </para>
+ <para>
+ For something-separated data that has headers identifying the various
+ fields, see our <link linkend="fmt_unicsv">universal csv</link> format.
+ </para>
- <para> This is the binary file format used by EasyGPS. This
+ <para> This is the binary file format used by <ulink url="http://www.easygps.com/">EasyGPS</ulink>
format is seemingly being phased out in favor of GPX in newer versions
of EasyGPS, but this allows conversions to and from the old binary
.loc format.
</para>
- <para>
- <ulink url="http://www.easygps.com/">http://www.easygps.com/</ulink>
- </para>
<para> Information about and sketchy code to implement this file
format were provided by Eric Cloninger.
</para>
- <para> This was a requested CSV format, *not* the proprietary
-binary format used by Fugawi. Like any other CSV format, GPSBabel
+ <para> This was a requested <link linkend="fmt_csv">CSV format</link>, and is <emphasis>not</emphasis> the proprietary
+binary format used by <ulink url="http://www.fugawi.com">Fugawi</ulink>. Like any other CSV format, GPSBabel
cannot read tracks in this format, but converting a track into it and
then importing as track in Fugawi works.</para>
<para> It is known to work with Fugawi V3.1.4.635. When
</para>
<para>
- Supported models on USB include
- <simplelist columns="5">
+ Supported Garmin GPS receivers with USB include
+ <simplelist columns="4">
+<member>Astro</member>
<member>Edge 205</member>
<member>Edge 305</member>
<member>eTrex Legend C</member>
<member>Forerunner 305</member>
<member>Foretrex 201</member>
<member>Foretrex 301</member>
+<member>GPS 18<footnote id="posnonly"><para>This model does not support transfer of waypoints, tracks, or routes, but may be used with the <link linkend="tracking">realtime tracking</link> feature.</para></footnote></member>
<member>GPSMAP 195</member>
<member>GPSMAP 276C</member>
<member>GPSMAP 295</member>
<member>GPSMAP 76CX</member>
<member>GPSMAP 96</member>
<member>GPSMAP 96C</member>
-<member>Nuvi 300<footnote id="gpx"><para>This unit uses GPX format, not Garmin protocol. Therefore one should communicate with it by reading and writing GPX files instead of using this format.</para></footnote></member>
+<member>Nuvi 300<footnote id="gpx"><para>This unit uses GPX format, not Garmin protocol. Therefore one should communicate with it by reading and writing GPX files instead of using this format. Members of this class of products do not support realtime positioning protocol.</para></footnote></member>
<member>Nuvi 310<footnoteref linkend="gpx"/></member>
<member>Nuvi 350<footnoteref linkend="gpx"/></member>
-<member>Nuvi 360<footnoteref linkend="gpx"/></member>
+<member>Nuvi 370<footnoteref linkend="gpx"/></member>
+<member>Nuvi 660<footnoteref linkend="gpx"/></member>
+<member>Nuvi 670<footnoteref linkend="gpx"/></member>
+<member>Nuvi 680<footnoteref linkend="gpx"/></member>
<member>Quest</member>
<member>Quest II</member>
<member>StreetPilot 2610</member>
<member>StreetPilot c510<footnoteref linkend="gpx"/></member>
<member>StreetPilot c530<footnoteref linkend="gpx"/></member>
<member>StreetPilot c550<footnoteref linkend="gpx"/></member>
+<member>StreetPilot c580<footnoteref linkend="gpx"/></member>
<member>StreetPilot i2</member>
<member>StreetPilot i3</member>
<member>StreetPilot i5</member>
+<member>Zumo 450<footnoteref linkend="gpx"/></member>
+<member>Zumo 550<footnoteref linkend="gpx"/></member>
+</simplelist>
+</para>
+<para>the following Bluetooth Garmin products:
+<simplelist columns="4">
+<member>GPS 10<footnoteref linkend="posnonly"/></member>
</simplelist>
</para>
-<para>and most serial units including:
-<simplelist columns="5">
+<para>and most serial Garmin GPS receivers including:
+<simplelist columns="4">
<member>eMap</member>
<member>eTrex Camo</member>
<member>eTrex Legend</member>
</para>
<para>
- To communicate with a unit serially, use the name of that
- serial port such as "COM1" or "/dev/cu.serial".
+ To communicate with a Garmin GPS serially, use the name of that
+ serial port such as <filename>COM1</filename> or <filename>/dev/cu.serial</filename>.
</para>
<para>
- To communicate via USB use "usb:" as the filename on all OSes.
- Thus, to read the waypoints from a Garmin USB unit and write
+ To communicate via USB use <filename>usb:</filename> as the filename on all OSes.
+ Thus, to read the waypoints from a Garmin USB receiver and write
them to a GPX file:
+</para>
- <screen format="linespecific">gpsbabel -i garmin -f usb: -o gpx -F blah.gpx</screen>
+ <para><userinput>gpsbabel -i garmin -f usb: -o gpx -F blah.gpx</userinput></para>
-</para>
<para>
If you have multiple units attached via USB, you may provide
a unit number, with zero being the implied default. So if you
have three USB models on your system, they can be addressed as
- "usb:0", "usb:1", and "usb:2". To get a list of recognized devices,
+ <filename>usb:0</filename>, <filename>usb:1</filename>, and <filename>usb:2</filename>. To get a list of recognized devices,
specifiy a negative number such as:
</para>
- <screen format="linespecific">gpsbabel -i garmin -f usb:-1</screen>
+ <para><userinput>gpsbabel -i garmin -f usb:-1</userinput></para>
<para>
When reporting problems with the Garmin format, be sure to include
the full unit model, firmware version, and be prepared to offer
-debugging dumps by adding "-D9" to the command line, like:
+debugging dumps by adding <option>-D9</option> to the command line, like:
</para>
- <screen format="linespecific"> gpsbabel -D9 -i garmin -f usb: -o gpx -F blah.gpx</screen>
+ <para><userinput> gpsbabel -D9 -i garmin -f usb: -o gpx -F blah.gpx</userinput></para>
<para>
Custom icons are supported on units that support that.
getty, pppd, etc.) is using the serial port.
</para>
<para>
- For models connected via USB, we recommend use of the 'usb:'
+ For models connected via USB, we recommend use of the <filename>usb:</filename>
filename. For this to work on Windows, you must install
the Garmin driver. For Linux, this will fail if have the garmin_gps
kernel module loaded.
See the <ulink url="/osnotes.html">Operating System Notes</ulink> for details.
</para>
+<para>
+This module also supports <link linkend="tracking">realtime tracking</link>
+which allows realtime position reports from a Garmin GPS receiver over USB
+or serial.
+</para>
<para>This is a very simple format that
-is most useful for exporting data from a Garmin301 to other programs
+is most useful for exporting data from units that support heart rate
+data such as
+<productname>Garmin Forerunner 301</productname>,
+<productname>Garmin Forerunner 305</productname>, and
+<productname>Garmin Edge 305</productname>, and
+to other programs
for analysis. It's a simple comma delimited format that includes the
timestamp, 3D position information and heart rate so you can pull it
into a spreadsheet or graphing program. </para>
<para>
This is a textual format that contains nearly all of the information
-contained in the MapSource main format, <link linkend="fmt_gdb">GDB</link>.
+contained in the <productname>MapSource</productname> main format, <link linkend="fmt_gdb">GDB</link>.
This format also contains some computed values such as distances between
routepoints and trackpoints, speed, and course (heading).
</para>
<para>
The main goal of garmin_txt is to make aviation data more available. Because
-MapSource supports only the export, GPSBabel gives you the possibility to
-bring aviation data into MapSource.
+<productname>MapSource</productname> supports only the export, GPSBabel gives you the possibility to
+bring aviation data into <productname>MapSource</productname>.
</para>
<para>
-During the export with MapSource, some fields are written using local settings
-of MapSource and Windows. These include grid format, gps datum, distance and
+During the export with <productname>MapSource</productname>, some fields are written using local settings
+of <productname>MapSource</productname> and Windows. These include grid format, gps datum, distance and
temperature units, and the representation of date and time fields. GPSBabel
tries to read all items automatically. Problems with date and time format can
be solved with the 'date' and 'time' options.
</para>
<example id="all_garmin_txt_options">
<title>Command showing garmin_txt output with all options</title>
- <screen format="linespecific">gpsbabel -i garmin_txt,date="MM/DD/YYYY",time="hh:mm:ss xx" -f in.txt -o garmin_txt,date="DD.MM.YYYY",datum="WGS 72",dist=m,prec=6,temp=c,time="HH:mm:ss",utc=+2 -F out.txt</screen>
+ <para><userinput>gpsbabel -i garmin_txt,date="MM/DD/YYYY",time="hh:mm:ss xx" -f in.txt -o garmin_txt,date="DD.MM.YYYY",datum="WGS 72",dist=m,prec=6,temp=c,time="HH:mm:ss",utc=+2 -F out.txt</userinput></para>
</example>
-
-
- <para>This is the GeocachingDB by DougsBrat. It works with v2
-and v3 of this program. See <ulink url="http://vip.hyperusa.com/~dougs/geocachingdb/geocachingdb.htm">vip.hyperusa.com</ulink>
+ <para>This is format for the
+<ulink url="http://vip.hyperusa.com/~dougs/geocachingdb/geocachingdb.htm">
+GeocachingDB</ulink> program by DougsBrat. It works with v2
+and v3 of this program.
</para>
<para>
Support for the "Garmin GPS Database" format used by
-default in MapSource versions since release 6.0. By default GPSBabel creates
+default in <productname>MapSource</productname> versions since release 6.0 of
+that product. By default GPSBabel creates
gdb files of version 2. Version 2 is used in Mapsource 6.3 and 6.5.
</para>
<para>
<para>
-This format supports the Geocaching.com/EasyGPS ".loc" format. This format
+This format supports the <ulink url="http://www.geocaching.com">Geocaching.com</ulink>/<ulink url="http://www.easygps.com">EasyGPS</ulink> ".loc" format. This format
was created specifically for Geocaching.com and is not the same as the
standard EasyGPS .loc format. See the <link linkend="fmt_easygps">EasyGPS</link>
or <link linkend="fmt_gpx">GPX</link> formats for more general EasyGPS support.
- <para>Geoniche is a Palm/OS application oriented for the
-off-road user. This module was contributed by Rick Richardson. See
-<ulink url="http://www.nwlink.com/~raydar/GeoNiche/">nwlink.com</ulink>
+ <para><ulink url="http://www.raydarllc.com/">Geoniche</ulink> is a Palm/OS application oriented for the
+off-road user. This module was contributed by Rick Richardson.
</para>
<para>This is the XML format used by the Garmin Logbook product
-that ships with Forerunner and Foretrex. <ulink url="http://www.garmin.com">http://www.garmin.com</ulink>
+that ships with Forerunner and Foretrex.
+As of early 2006, this program is apparently been discontinued in favor of
+<link linkend="fmt_gtrnctr">Garmin Training Center</link>.
+
+See: <ulink url="http://www.garmin.com">http://www.garmin.com</ulink>
</para>
<para> This format is designed to read the XML emitted when you
-tack "&output=js" onto the end of a Google Maps route URL (use
+tack "&output=js" onto the end of a <ulink url="http://www.maps.google.com>Google Maps">Google Maps</ulink>route URL (use
the "link to this page" option to get a usable URL.) This allows you
to plan a route using Google Maps, then download it and use it in your
own mapping program or GPS receiver. To get a file suitable for use
- <para> This is a Palm/OS file format for GPilotS. It was tested
-against version 6.2.
+ <para> This is a Palm/OS file format for
+ <ulink url="http://www.cru.fr/perso/cc/GPilotS/">GPilotS</ulink>.
+ It was tested against version 6.2 of GPilotsS
</para>
- <para>
- <ulink url="http://www.cru.fr/perso/cc/GPilotS/">http://www.cru.fr/perso/cc/GPilotS/</ulink>
- </para>
<para> Neither tracks nor routes are supported at this
time.</para>
- <para>GPSUtil has a simple file format of this program that runs
+ <para>The format we call <ulink url="http://www.cs.uakron.edu/~hennings/gpsutil">gpsutil</ulink> is a simple file format used by a program that runs
on POSIX- compliant OSes like UNIX and Linux. Reads and writes of
-this format are reliable. (I've also contributed to this program.)
-It's available at <ulink url="http://www.cs.uakron.edu/~hennings/gpsutil">cs.uakron.edu</ulink>.</para>
+this format are very reliable. (<ulink url="/people/robertlipe.html">The lead
+developer of GPSBabel</ulink> also contributed to this that 'gpsutil'
+the early days.)</para>
+<para>
+ Note that 'gpsutil' is a different format - and program - than the one called <ulink url="http://www.gpsu.co.uk/index.html">GPS Utility</ulink>; for that one, you should probably use our <link linkend="fmt_pcx">PCX module</link>.
+</para>
supported by EasyGPS, ExpertGPS, and many other programs described at
<ulink url="http://www.topografix.com/gpx_resources.asp">topografix.com</ulink>
</para>
+ <para>
+ GPSBabel's reader of this module attempts to preserve tags it doesn't
+ really understand. It also tries to glean interesting data from
+ <ulink url="http://www.geocaching.com">pocket queries from Geocaching.com</ulink>.
+ </para>
<para>
-Garmin Training Center is the successor to Garmin' Logbook program
-for their workout units. It is a free upgrade.
+GPSBabel has limited support for Garmin Training Center files. That program is the successor to Garmin' Logbook program for their workout units. It is a free upgrade.
</para>
<para>
This format is somewhat underachieving in GPSBabel. It is a write-only
- <para> The Holuxgm-100 (e-fox) gps receiver uses standard
+ <para> The Holux gm-100 (e-fox) gps receiver uses standard
compact flash cards. File formats were provided by Holux-Taiwan
<ulink url="http://www.holux.com.tw">holux.com</ulink> to the author.
The code was tested against version 2.27E1; other versions and
- <para> HTML output generates a single HTML file of all of the
+ <para> GPSBabel's HTML output generates a single HTML file of all of the
waypoints in the input file. It supports a number of Groundspeak GPX
-extensions, as well as filters out potentially harmful HTML from the
-input file while maintaining almost all of the source HTML formatting.
+extensions and filters out potentially harmful HTML from the
+input file while maintaining almost all of the source HTML formatting.
+This makes this format well suited for generating HTML to hand to programs
+like Plucker for putting in a PDA and especially so for "paperless caching"
+for Geocachers with pocket queries.
+</para>
+<para>This format is similar to the <link linkend="fmt_text">text</link> format.
</para>
<para> The following command line reads a GPX file with
Groundspeak extensions and writes an HTML file with encrypted hints
that is rendered using a custom stylesheet:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f 12345.gpx -o html,stylesheet=green.css,encrypt -F 12345.html</screen>
+<para><userinput>gpsbabel -i gpx -f 12345.gpx -o html,stylesheet=green.css,encrypt -F 12345.html</userinput></para>
A track stored in another format (GPX for example) representing a recorded
flight can be converted into an IGC file:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f mytrk.gpx -o igc -F myflight.igc</screen>
+<para><userinput>gpsbabel -i gpx -f mytrk.gpx -o igc -F myflight.igc</userinput></para>
<para>
If multiple track segments are provided in the input file, the one with the
most points will be used.
A route stored in another format representing a task declaration can be
converted into an IGC file:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f myrte.gpx -o igc -F mytask.igc</screen>
+<para><userinput>gpsbabel -i gpx -f myrte.gpx -o igc -F mytask.igc</userinput></para>
<para>
A route and a track in other formats can be included into a single IGC file:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -o igc -F myflight.igc</screen>
+<para><userinput>gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -o igc -F myflight.igc</userinput></para>
<para>
A similar result can be obtained by downloading the track log and routes
directly from a GPS device connected to a PC. For example to create an IGC
file from data recorded in a Garmin GPS connected to the first serial port of
a PC running Linux:
</para>
-<screen format="linespecific">gpsbabel -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</screen>
+<para><userinput>gpsbabel -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</userinput></para>
<para>
For Windows operating systems:
</para>
-<screen format="linespecific">gpsbabel -t -r -i garmin -f com1 -o igc -F myflight.igc</screen>
+<para><userinput>gpsbabel -t -r -i garmin -f com1 -o igc -F myflight.igc</userinput></para>
<para>
A waypoint file in another format containing a waypoint whose short name is
"PILOT" can be merged into an IGC file. The description field of the waypoint
will be used for the pilot name in the IGC file header:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -f mywpt.gpx -o igc -F myflight.igc
-gpsbabel -w -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</screen>
+<para><userinput>gpsbabel -i gpx -f mytrk.gpx -f myrte.gpx -f mywpt.gpx -o igc -F myflight.igc
+gpsbabel -w -t -r -i garmin -f /dev/ttyS0 -o igc -F myflight.igc</userinput></para>
<para>
Some formats such as GPX allow routes, tracks and waypoints to exist in the
same file and can be used to fully populate an IGC file:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f myall.gpx -o igc -F myflight.igc</screen>
+<para><userinput>gpsbabel -i gpx -f myall.gpx -o igc -F myflight.igc</userinput></para>
</section>
<section id="fmt_igc_convfrom">
generate OziExplorer files containing tracks representing the recorded
flight (myozi.plt) and routes representing declared tasks (myozi.rte):
</para>
-<screen format="linespecific">gpsbabel -i igc -f myflight.igc -o ozi -F myozi</screen>
+<para><userinput>gpsbabel -i igc -f myflight.igc -o ozi -F myozi</userinput></para>
<para>
Or to GPX format:
</para>
-<screen format="linespecific">gpsbabel -i igc -f myflight.igc -o gpx -F myflight.gpx</screen>
+<para><userinput>gpsbabel -i igc -f myflight.igc -o gpx -F myflight.gpx</userinput></para>
<para>
Header information from the IGC file will be written to the description field
of the track(s).
A route stored in another format can be merged with an existing IGC file that
has no task declaration, to generate a new IGC file with a task declaration:
</para>
-<screen format="linespecific">gpsbabel -i igc -f myflight.igc -i gpx -f myrte.gpx -o igc -F mynew.igc</screen>
+<para><userinput>gpsbabel -i igc -f myflight.igc -i gpx -f myrte.gpx -o igc -F mynew.igc</userinput></para>
<para>
A two dimensional (lat/lon) track recorded during a flight by a GPS receiver
can be merged with a one dimensional (altitude) track recorded during the same
flight by a barograph instrument. The result is a three dimensional IGC file
representing the flight:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc -F my3D.igc</screen>
+<para><userinput>gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc -F my3D.igc</userinput></para>
<para>
The same can be acheived by downloading directly from a barograph instrument
supported by GPSBabel. For example with a Brauniger IQ Comp GPS variometer:
</para>
-<screen format="linespecific">gpsbabel -i baroiq -f /dev/ttyS0 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</screen>
+<para><userinput>gpsbabel -i baroiq -f /dev/ttyS0 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</userinput></para>
<para>
or:
</para>
-<screen format="linespecific">gpsbabel -i baroiq -f com1 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</screen>
+<para><userinput>gpsbabel -i baroiq -f com1 -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</userinput></para>
<para>
(Documentation contributed by Chris Jones, Aug 2004)
</para>
<para>
KML, the Keyhole Markup Language, is used by Keyhole and
-Google Earth. There are features in this file format that GPSBabel
+<ulink url="http://earth.google.com">Google Earth</ulink>. There are features in this file format that GPSBabel
doesn't support - such as camera views - but waypoints, tracks, and routes
work well.
</para>
--- /dev/null
+<para>
+ This module supports track files used by Kompass and DAV "Deutscher Alpenverein".
+</para>
+<para>
+ <ulink url="http://www.kompass.at">Kompass</ulink> is a publishing company from Austria.
+ If you want to get more information about DAV, the German alpine association,
+ and if you are familiar with the german language, please have a look at their <ulink url="http://www.alpenverein.de">homepage</ulink>.
+</para>
--- /dev/null
+<para>
+ This module supports waypoint files used by Kompass and DAV "Deutscher Alpenverein".
+</para>
+<para>
+ Some more information under <link linkend="fmt_kompass_tk">kompass_tk</link> format.
+</para>
+
<para>
-The Lowrance iFinder GPS series has the unique capability
+The <ulink url="http://www.lowrance.com">Lowrance iFinder GPS</ulink> series has the unique capability
to output its data to an MMC card. The data is saved to the card as a
.USR file and can be read by your computer using a card reader.
Waypoints, routes, tracks are supported. By default, Event marker
-<para>GPSBabel supports the following Magellan receivers:
+<para>GPSBabel supports the following <ulink url="http://www.magellangps.com">Magellan</ulink> receivers:
<simplelist columns="2">
<member>310</member>
<member>315</member>
This format is used for both the serial protocol used on the
devices with serial ports such as Map330 and Meridian and for
the files stored either in either the unit's internal memory
- (Explorist 210, 400, 500, 600, XL) or on removable memory.
+ (Explorist 210, Explorist 400, Explorist 500, Explorist 600,
+ Explorist XL) or on removable memory.
</para>
<para>
If you specify a serial port for the file (.e.g. "COM1", "/dev/ttyS0")
-<para>GPSBabel supports the following Magellan receivers:
+<para>GPSBabel supports the following <ulink url="http://www.magellangps.com">Magellan</ulink> receivers:
<simplelist columns="2">
<member>310</member>
<member>315</member>
If you specify a serial port for the file (.e.g. "COM1", "/dev/ttyS0")
to be read or written, GPSBabel will use serial protocol. Specifying
a file, either on local filesystem or on a mounted flash card reader,
- will results in the file-based format being used.
+ will result in the file-based format being used.
+</para>
+<para>
+ Users of the Explorist generation of receivers should probably
+ prefer to use the <link linkend="fmt_magellan">magellanx</link>
+ format over this one.
+
</para>
<para>
- This is the SD card format used by the Magellan Explorist 400,
- 500, 600, and XL and internally on those devices plus the
- Explorist 210. Waypoints are identical to the Magellan SD format
- used by Meridian, but allows longer waypoint names. Routes are
+ This is the SD card format used by the <ulink url="http://www.magellangps.com">Magellan</ulink> Explorist 400,
+ Explorist 500, Explorist 600, and Explorist XL and internally on those devices plus the
+ Explorist 210. Stored waypoints are identical to the <link linkend="fmt_magellan">Magellan SD format</link>
+ used by Meridian, but the newer models allow longer waypoint names. Routes are
subtly different.
</para>
<para>
- <para> The SD card format used by the Magellan Explorist 400,
-500, and 600 to describe geocaches. Notice what while the format can
+ <para> This format support the on-card format used by the <ulink url="http://www.magellangps.com">Magellan</ulink> Explorist 400,
+Explorist 500, Explorist 600, Explorist 210, and Explorist XL
+to describe geocaches. Notice what while the format can
hold an infinite number of geocaches, the unit will read and silently
discard all but 200 geocache POIs at a time.</para>
<para> You should name any file created with this format with a
<para>
-Magellan NAV Companion for Palm/OS is not really designed
+<ulink url="http://www.magellangs.com">Magellan</ulink> NAV Companion for Palm/OS is not really designed
for this sort of use, but its file format is supported and with a
little bit of patience you can both read and write NAV Companion
waypoints. This conversion is based on
<para>
To merge the databases, use a command line like the following:
</para>
-<screen format="linespecific">gpsbabel -i magnav -f Companion_Waypoints.PDB -i geo -f geocaching.loc -o magnav -F merged.pdb</screen>
+<para><userinput>gpsbabel -i magnav -f Companion_Waypoints.PDB -i geo -f geocaching.loc -o magnav -F merged.pdb</userinput></para>
<para>
Second, you must use the installer to install your new PDB file. Don't
make the mistake of copying it over the existing Companion_Waypoints.PDB
<para>
Step 1: Create a mapconverter file using gpsbabel.
</para>
-<screen format="linespecific">gpsbabel -i geo -f geocaching.loc -o mapconverter -F foo.txt</screen>
+<para><userinput>gpsbabel -i geo -f geocaching.loc -o mapconverter -F foo.txt</userinput></para>
<para>
Step 2: Launch mapconverter.exe and choose foo.txt as your input file.
Click the begin button to have mapconverter process foo.txt.
<para>
-This format supports the Magellan <productname>MapSend</productname> native
+This format supports the <ulink url="http://www.magellangps.com">Magellan</ulink> <productname>MapSend</productname> native
file format.
</para>
<para>
<ulink url="http://www.commlinx.com.au/GPS_recorder.htm">CommLinx GPS recorder</ulink>
</member>
<member>
- <ulink url="http://www.sparkfun.com/commerce/product_info.php?products_id=671">SparkFun GPS Datalogger</ulink>
+ <ulink url="http://www.sparkfun.com/">SparkFun GPS Datalogger</ulink>
+</member>
+<member>
+ <ulink url="http://www.sonystyle.com/is-bin/INTERSHOP.enfinity/eCS/Store/en/-/USD/SY_DisplayProductInformation-Start?ProductSKU=GPSCS1">Sony GPS-CS1</ulink>
</member>
</simplelist>
+<para>
+This module also supports <link linkend="tracking">realtime tracking</link>
+which allows realtime position reports from a GPS, such as one connected
+serially, over Bluetooth, or a USB module emulating a serial port, to be used
+with selected output formats.
+</para>
+<para>
+When used in <link linkend="tracking">realtime tracking</link> mode, if
+GPSBabel does not sense incoming NMEA sentences arriving from the port, it
+will send Sirf "reset to NMEA" commands to the port at a variety of speeds
+in an attempt to communicate with an attached GPS. This lets devices
+like the Microsoft GPS or Pharos GPS that are Sirf chips with an integrated
+USB/Serial adapter work with this input format.
+</para>
format. Intended to serve as source for number-processing
applications like OpenOffice, Ploticus and others. Tab was chosen as
delimiter because it is a) supported by both OpenOffice and Ploticus
-and b) is not ',', so you can use <command moreinfo="none">sed -i
-"s/./,/g" <x>.csv'</command> to adapt it to locales where ',' is
+and b) is not ',', so you can use <userinput moreinfo="none">sed -i
+"s/./,/g" <x>.csv'</userinput> to adapt it to locales where ',' is
used as decimal seperator. Contributed by Tobias Minich.</para>
in the waypoint descriptions in the generated drawing file. If you do not
want that, specify the "nogc" option on the command line:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f 12345.gpx -o an1,nogc -F 12345.an1</screen>
+<para><userinput>gpsbabel -i gpx -f 12345.gpx -o an1,nogc -F 12345.an1</userinput></para>
This option has a special format that is best demonstrated by example:
</para>
-<screen format="linespecific">"road=I-599!limited!Beecher St.!major" </screen>
+<screen format="linespecific"> "road=I-599!limited!Beecher St.!major" </screen>
<para>
This option will cause any road named "I-599" to become a limited-access
<link linkend="fmt_gpx">gpx</link> file that contains two routes, you may
use this option to write them one at a time to individual files.
</para>
-<screen format="linespecific">gpsbabel -i gpx -f routes.gpx -o bcr,index=1 -F route1.bcr -o bcr,index=2 -F route2.bcr</screen>
+<para><userinput>gpsbabel -i gpx -f routes.gpx -o bcr,index=1 -F route1.bcr -o bcr,index=2 -F route2.bcr</userinput></para>
--- /dev/null
+<para>
+This option causes GPSBabel to use the short name of the waypoint instead
+of the description.
+</para>
<link linkend="fmt_gpx">gpx</link> file that contains two routes, you may
use this option to write them one at a time to individual files.
</para>
-<screen format="linespecific">gpsbabel -i gpx -f routes.gpx -o compegps,index=1 -F route1.txt -o compegps,index=2 -F route2.txt</screen>
+<para><userinput>gpsbabel -i gpx -f routes.gpx -o compegps,index=1 -F route1.txt -o compegps,index=2 -F route2.txt</userinput></para>
<para>This options gets the current longtitude and latitude from the attached GPS device
and returns it as a single waypoint for further processing. For example,
to return the current position from a USB Garmin to a KML file:
-<screen format="linespecific">gpsbabel -i garmin,get_posn -f usb: -o kml -F myposition.kml</screen>
</para>
+<para><userinput>gpsbabel -i garmin,get_posn -f usb: -o kml -F myposition.kml</userinput></para>
a unit that supports it is rather futile, so place this option carefully
in your command.
-<screen format="linespecific">gpsbabel -o garmin,power_off -F /dev/ttyS0</screen>
</para>
+<para><userinput>gpsbabel -o garmin,power_off -F /dev/ttyS0</userinput></para>
--- /dev/null
+<para>
+ This value specifies the grid to be used on write.
+</para>
+<table id="garmin_grid">
+<title>Grid values for garmin_txt</title>
+<tgroup cols="4">
+<thead>
+<row>
+ <entry># idx</entry>
+ <entry>short</entry>
+ <entry>file-header</entry>
+ <entry>sample</entry>
+</row>
+</thead>
+<tbody>
+<row>
+ <entry>0</entry>
+ <entry>ddd</entry>
+ <entry>Lat/Lon hddd.ddddd</entry>
+ <entry> S26.25333 E27.92333</entry>
+</row>
+<row>
+ <entry>1</entry>
+ <entry>dm</entry>
+ <entry>Lat/Lon hddd°mm.mm</entry>
+ <entry>N33 56.539 W118 24.471</entry>
+</row>
+<row>
+ <entry>2</entry>
+ <entry>dm</entry>
+ <entry>Lat/Lon hddd°mm'ss.s</entry>
+ <entry>S25 25 26.8 E28 06 07.3</entry>
+</row>
+<row>
+ <entry>3</entry>
+ <entry>bng</entry>
+ <entry>British National Grid</entry>
+ <entry>TQ 18919 69392</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+
+
+
+<para>
+ Idx or short are valid params for this option.
+</para>
+
+
difference in seconds between the two time domains through the "timeadj"
parameter. This can be any positive or negative integer:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=27 -F my3D.igc</screen>
+<para><userinput>gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=27 -F my3D.igc</userinput></para>
<para>
GPSBabel can also attempt to deduce the time difference automatically. This
is done by comparing the time that it thinks that you landed on the GPS track
and the barograph and adjusting accordingly:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</screen>
+<para><userinput>gpsbabel -i gpx -f baro.gpx -i igc -f my2D.igc -o igc,timeadj=auto -F my3D.igc</userinput></para>
<link linkend="fmt_gpx">gpx</link> file that contains two tracks, you may
use this option to write them one at a time to individual files.
</para>
-<screen format="linespecific">gpsbabel -i gpx -f tracks.gpx -o ignrando,index=1 -F track1.txt -o ignrando,index=2 -F track2.txt</screen>
+<para><userinput>gpsbabel -i gpx -f tracks.gpx -o ignrando,index=1 -F track1.txt -o ignrando,index=2 -F track2.txt</userinput></para>
<link linkend="fmt_gpx">gpx</link> file that contains two routes, you may
use this option to write them one at a time to individual files.
</para>
-<screen format="linespecific">gpsbabel -i gpx -f routes.gpx -o nmn4,index=1 -F route1.rte -o nmn4,index=2 -F route2.rte</screen>
+<para><userinput>gpsbabel -i gpx -f routes.gpx -o nmn4,index=1 -F route1.rte -o nmn4,index=2 -F route2.rte</userinput></para>
</para>
<para>
This example will convert route number two and three into separate sdf files:
- <screen format="linespecific">
- gpsbabel -i gdb -f routes.gdb -r -o stmsdf,index=2 -F route-one.sdf -r -o stmsdf,index=3 -F route-three.sdf
- </screen>
</para>
+ <para><userinput> gpsbabel -i gdb -f routes.gdb -r -o stmsdf,index=2 -F route-one.sdf -r -o stmsdf,index=3 -F route-three.sdf </userinput></para>
<link linkend="fmt_gpx">gpx</link> file that contains three routes, you may
use this option to write them one at a time to individual files.
</para>
-<screen format="linespecific">gpsbabel -i gpx -f routes.gpx -o stmwpp,index=1 -F route1.txt -o stmwpp,index=2 -F route2.txt -o stmwpp,index=3 -F route3.txt</screen>
+<para><userinput>gpsbabel -i gpx -f routes.gpx -o stmwpp,index=1 -F route1.txt -o stmwpp,index=2 -F route2.txt -o stmwpp,index=3 -F route3.txt</userinput></para>
a map that will hold all the points to be displayed and is suitably scaled
and centered.
</para>
-<para>For example:
-<screen format="linespecific">gpsbabel -i geo -f geocaching.loc -o tiger,genurl=tiger.ctr -F tiger.dat</screen>
+<para>For example:</para>
+<para><userinput>gpsbabel -i geo -f geocaching.loc -o tiger,genurl=tiger.ctr -F tiger.dat</userinput></para>
+<para>
may create tiger.ctr with
-<screen format="linespecific">lat=36.042108&lon=-86.877408&ht=0.161172&wid=0.591771&iwd=768&iht=768</screen>
+<screen format="linespecific">
+lat=36.042108&lon=-86.877408&ht=0.161172&wid=0.591771&iwd=768&iht=768</screen>
After uploading tiger.dat to a public server, a request to
<screen format="linespecific"> http://tiger.census.gov/cgi-bin/mapgen?murl=$THATFILE$(cat tiger.ctr)</screen>
<para>The option 'datum="datum name"' can be used to override
the default of NAD27 ("N. America 1927 mean") which is correct for the
-continental U.S. Points in Hawaii should use "Old
-Hawaiian_mean"</para>
+continental U.S.</para> <para>Any legal <link linkend="Datums">datum supported
+by GPSBabel</link> may be used. For example, points in Hawaii should
+use "Old Hawaiian_mean".</para>
--- /dev/null
+<para>
+This option specifies the GPS datum to be used on read or write. Valid values for this
+option are listed in <xref linkend="Datums" />.
+</para>
The following command line reads a GPX file with Groundspeak extensions
and writes a Palm document with encrypted hints and logs:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f 12345.gpx -o "palmdoc,dbname=Unfound Geocaches,encrypt,logs" -F 12345.pdb</screen>
+<para><userinput>gpsbabel -i gpx -f 12345.gpx -o "palmdoc,dbname=Unfound Geocaches,encrypt,logs" -F 12345.pdb</userinput></para>
the lame NMEA six-character waypoint names that's treated as a
second-class citizien in current versions of MapSource. In Mapsource,
use file->import to read these files. If you name the files *.wpt,
-Mapsource will find them easier.
+Mapsource will find them more easily.
</para>
<para> In general, you should prefer the "mapsource" file format
to this one.
</para>
-
+ <para>This format has been extended to handle many - but not all -
+ files from <ulink url="http://www.gpsu.co.uk/index.html">GPS Utility</ulink>. If you encounter something that GPSBabel does not handle well, use
+the free version of GPSUtil to read it and save as something more common.
+ </para>
<section id="fmt_psp_faq">
<title>Frequently Asked Questions</title>
<qandaset>
-<qandaentry>
+<qandaentry id="why">
<question>
<para>
Why should I use GPSBabel/psp to make pushpins when Streets & Trips (S&T)
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="blank">
<question>
<para>
I keep getting a blank (32 byte) PSP file.
on the command line. A simple command line to create PSP files
looks like this:
</para>
-<screen format="linespecific">gpsbabel -i geo -f geocaching.loc -o psp -F NewOrleans.psp</screen>
+<para><userinput>gpsbabel -i geo -f geocaching.loc -o psp -F NewOrleans.psp</userinput></para>
<para>
Note the use of "-f" for INPUT files and "-F" for OUTPUT files.
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="now_what">
<question>
<para>
I've created a PSP file, now what do I do with it?
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="no_map">
<question>
<para>
I don't have a map. What do I do now?
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="have_est">
<question>
<para>
I have .EST files, not .PSP files. What's up with that?
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="coord_jitter">
<question>
<para>
The .PSP files differ when I use GPSBabel/psp versus Pocketstreets to
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="mappoint">
<question>
<para>
Does GPSBabel/psp work with (Autoroute, Mappoint, etc..) .PSP files?
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="after2001">
<question>
<para>
Does GPSBabel/psp work with (S&T 2001, S&T 2002, etc...) files?
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="non_us">
<question>
<para>
Does GPSBabel/psp work with (insert your country/location here) maps?
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="wrong_coords">
<question>
<para>
What do you mean S&T writes points with the wrong coordinates?
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="splitting">
<question>
<para>
I have 800 waypoints that cover a dozen or so Pocketstreets maps.
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="doc_for_layout">
<question>
<para>
Where can I find documentation for the layout of PSP files?
</para>
</answer>
</qandaentry>
-<qandaentry>
+<qandaentry id="morehelp">
<question>
<para>
I have some other problem, what do I do?
--- /dev/null
+<para>
+ This format supports the "Raymarine Waypoint File" format (.rwf).
+ More information to Raymarine you'll find at their <ulink url="http://www.raymarine.com">homepage</ulink>.
+</para>
+<para>
+ Known limits: max. 16 characters for waypoint names and max. 50 waypoints per route.
+</para>
- <para> This is a format for importing into Microsoft Streets and
-Trips. It's been exercised on versions 2003, 2004, and 2005. Detailed
+ <para> This is a format for importing into
+<ulink url="http://www.microsoft.com/streets/default.mspx"> Microsoft Streets and
+Trips</ulink>. It's been exercised on versions from 2003 through 2007. Detailed
instructions on how to use it, including preserving hyperlinks, are at
<ulink url="http://www.gpsbabel.org/formats/s_and_t/Importing_into_Microsoft_Streets_and_Trips_2003.html">gpsbabel.org</ulink>
</para>
- <para> This format is for Street Atlas USA 2004 Plus.
+ <para> This format is for Delorme Street Atlas USA 2004 Plus and later.
</para>
<para> For geocachers importing data from a tool like GSAK or
Spinner, import the file twice in XData. One will create a file with
--- /dev/null
+ <para>This format reads and writes ESRI shapefiles as best it can. The
+reality is that shapefiles can contain a lot of map-oriented data that does
+not convert well to our model of waypoints, tracks, and routes. Points are
+mapped to waypoints. Arcs are mapped to tracks.<para>
+<para>
+If a field is named 'NAME', that will be used for hte shortname. Likewise
+for a field named 'URL'.
+</para>
+<para>
+Given the forced fit nature of conversions between shapefiles and other
+formats, the results of these conversions are frequently disappointing.
+A custom converter (perhaps via a modification to our source) will frequently
+deliver better results.
+</para>
+
<member>28 = X9 TrackLog</member>
</simplelist>
</para>
-<para>
- <screen format="linespecific">gpsbabel -i gpx -f some-routes.gpx -r -o stmsdf,index=3 -F single-route.sdf</screen>
-</para>
+ <para><userinput>gpsbabel -i gpx -f some-routes.gpx -r -o stmsdf,index=3 -F single-route.sdf</userinput></para>
<para>
<ulink url="http://www.suunto.fi">Suunto Website</ulink>
</para>
may also be used with this program and supports both reading and writing.
</para>
-<screen format="linespecific"> gpsbabel -r -i tef,routevia -f in.xml -o gpx -F out.gpx</screen>
+<para><userinput> gpsbabel -r -i tef,routevia -f in.xml -o gpx -F out.gpx</userinput></para>
<para> The following command line reads a GPX file with
Groundspeak extensions and writes a text file with encrypted hints:
</para>
-<screen format="linespecific">gpsbabel -i gpx -f 12345.gpx -o text,encrypt -F 12345.txt</screen>
+<para><userinput>gpsbabel -i gpx -f 12345.gpx -o text,encrypt -F 12345.txt</userinput></para>
- <para>TopoMapPro Places File. Reads and writes places files for
-use in TopoMapPro <ulink url="http://www.topomappro.com">topomappro.com</ulink>). As this file
+ <para>Reads and writes places files for
+use in <ulink url="http://www.topomappro.com">TopoMapPro places files</ulink>. As this file
type can store links other than web links, anything that is not a http
url will be discarded. Note that this does not do datum conversions,
so if your input file does not have WGS84/NZGD2000 data, your output
- <para> This format can read and write TomTom .ov2 (POI) files,
+ <para> This format can read and write <ulink url="http://www.tomtom.com">TomTom</ulink> .ov2 (POI) files,
as used by the TomTom GO and TomTom Navigator. It has been tested
with an original TomTom GO running version 5.00 of the TomTom
software. There may be some records that confuse the input module -
</para>
<para>
The list of keywords include "lat", "lon", "desc", "name",
- "notes", "alt", "utm z", "utm n", "utm e", and "url".
+ "notes", "alt", "utm z", "utm n", "utm e", "utm c" and "url".
Fuller spellings (i.e. "longitude") may be used.
</para>
<para>
</para>
<example id="wbt-bin-on-macos">
<title>Command showing conversion of a Wintec binary file to GPX</title>
- <screen format="linespecific">gpsbabel -i wbt-bin -f tracks.bin -o
-gpx -F out.gpx</screen>
+ <para><userinput>gpsbabel -i wbt-bin -f tracks.bin -o
+gpx -F out.gpx</userinput></para>
</example>
</para>
<example id="wbt-on-macos">
<title>Command showing WBT-200 download and erase over Bluetooth on Mac OS X</title>
- <screen format="linespecific">gpsbabel -i wbt,erase -f /dev/cu.WBT200-SPPslave-1 -o gpx -F out.gpx</screen>
+ <para><userinput>gpsbabel -i wbt,erase -f /dev/cu.WBT200-SPPslave-1 -o gpx -F out.gpx</userinput></para>
</example>
- <para>Delorme TopoUSA/XMap Conduit is one of the billion CSV
-variants mentioned above. It's just like S&A with the addition of
+ <para>Delorme TopoUSA/XMap Conduit is one of the bazillion
+<link linkend="fmt_csv">CSV variants</link>
+variants mentioned above. It's just like Delorme Streets & Atlas with the addition of
a completely pointless line at the beginning and end of the file. This
is the format used to hot-sync to XMap from withing TopoUSA. Done with
help of Dan Edwards.</para>
- <para>Delorme XMap2006 Conduit is just like XMap, except there are
+ <para>Delorme XMap2006 Conduit is just like
+<link linkend="fmt_xmap">XMap</link>
+, except there are
no spaces between fields and the coordinate format is slightly
different. The completely pointless header and footer lines
are the same, at least. Use this to create the XMapHHWptsSend.txt
<para>
Delorme XMapHandHeld Street Atlas USA is another of the
-billion CSV variants. This is the format used by XmapHH SA USA on (at
-least) PocketPC O/S.
+billion <link linkend="fmt_csv"> CSV variants</link>.
+This is the format used by XmapHH SA USA on (at least) PocketPC O/S.
</para>
<para>
This XMap is not the same as the simpler
is indeed possible, but if you have more than a few points, it can be a task.
For example:
</para>
-<screen format="linespecific">gpsbabel -i xmapwpt -f Xmap1.wpt -f Xmap2.wpt -o mapsend -F mapsend.wpt</screen>
+<para><userinput>gpsbabel -i xmapwpt -f Xmap1.wpt -f Xmap2.wpt -o mapsend -F mapsend.wpt</userinput></para>
<para>
will read the two Xmap .wpt files and write one mapsend file. This
is fine for a small handful of points, but could be quite cumbersome
for folks like me who have 100+ waypoints loaded into XMap. For *nix
folks, something as simple as:
</para>
-<screen format="linespecific">cat *.wpt > /tmp/foo.wpt
-gpsbabel -i xmapwpt -f foo.wpt -o mapsend -F mapsend.wpt </screen>
+<para><userinput>cat *.wpt > /tmp/foo.wpt</userinput>
+<userinput>gpsbabel -i xmapwpt -f foo.wpt -o mapsend -F mapsend.wpt </userinput></para>
<para>
will do the trick just fine.
</para>
-<programlisting format="linespecific">
+<programlisting>
#!/full/path/to/perl
$INPUTFILE = @ARGV[0];
$TARGETDIR = @ARGV[1];
$FILENAME = @ARGV[2];
if (! $FILENAME) {
- print "Usage: xmap_split.pl INPUT_FILE OUTPUT_DIRECTORY FILENAME_BASE\n";
+ print "Usage: xmap_split.pl " .
+ "INPUT_FILE OUTPUT_DIRECTORY FILENAME_BASE\n";
print " (i.e. xmapl_split.pl points.wpt /tmp/points GPSB)\n";
- print " (created GPSB0001-GPSBXXXX in /tmp/points/ from points.wpt)\n";
+ print " (created GPSB0001-GPSBXXXX " .
+ " in /tmp/points/ from points.wpt)\n";
exit;
}
$lc++;
$filename = sprintf("%s/Gpsb%04d.wpt", $TARGETDIR, $lc);
- open (OUTFILE, ">$filename") || die "Cannot open $filename for write!\n";
+ open (OUTFILE, ">$filename") ||
+ die "Cannot open $filename for write!\n";
print OUTFILE $_;
<refsynopsisdiv>
<cmdsynopsis>
-<command>gpsbabel</command>
+<userinput>gpsbabel</userinput>
<arg choice="opt">
<option>iofFxsh</option>
</arg>
my $res = "";
if ( ($read eq 'r') || ($write eq 'w')) {
- $res .= " <listitem>\n <para>\n ";
+ $res .= " <listitem>\n <para role=\"fmtcapsitem\">\n ";
if ( ($read eq 'r') && ($write eq 'w')) {
$res .= "read and write $type";
}
sub expandoptions {
my $opts = shift;
- my $res = " <para>\n This format can...\n <itemizedlist>\n";
+ my $res = " <para role=\"fmtcapshdr\">\n This format can...\n <itemizedlist>\n";
$res .= expandrw( substr($opts,0,1), substr($opts,1,1), 'waypoints' );
$res .= expandrw( substr($opts,2,1), substr($opts,3,1), 'tracks' );
$res .= expandrw( substr($opts,4,1), substr($opts,5,1), 'routes' );
- $res .= " </itemizedlist>\n </para>\n";
+ $res .= " </itemizedlist></para>\n";
$res;
}
$nid = 'fmt_'.$id.'_o_'.$line[2];
print FILE <<END;
<section id="$nid">
- <title>$line[2] option</title>
+ <title><option>$line[2]</option> option</title>
<para>
$line[3].
</para>
Routenplaner 2002-..." by Map&Guide. It is a route-onle
format. If you own a newer release (2005...) you can also use the XML
export and convert via <command moreinfo="none">gpsbabel ... -i tef
-...</command> to your preferred format. May be there are other
+...</userinput> to your preferred format. May be there are other
products from Map&Guide using the format.
</para>
<para> Coordinates are stored in Mercator format. The
applications like OpenOffice, Ploticus and others. Tab was chosen as
delimiter because it is a) supported by both OpenOffice and Ploticus
and b) is not ',', so you can use <command moreinfo="none">sed -i
-"s/./,/g" <x>.csv'</command> to adapt it to locales where ',' is
+"s/./,/g" <x>.csv'</userinput> to adapt it to locales where ',' is
used as decimal seperator. Contributed by Tobias Minich.</para>
</section>
<section id="ozi">
By itself, it doesn't comply to any format, however *most* CSV
variants can be described as a "style" and fine-tuned by the end user.
For more information on it's use, please see README.style in the
-style/ sub-directory of <command moreinfo="none">GPSBabel</command>.
+style/ sub-directory of <command moreinfo="none">GPSBabel</userinput>.
For an example of using the XCSV module within your C program, look at
the <filename moreinfo="none">ozi.c</filename>, <filename
moreinfo="none">mxf.c</filename>, and <filename
/*
Common utilities for XML-based formats.
- Copyright (C) 2004 Robert Lipe, robertlipe@usa.net
+ Copyright (C) 2004, 2005, 2006, 2007 Robert Lipe, robertlipe@usa.net
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#define MYNAME "XML Reader"
void
-write_xml_header(FILE *ofd)
+write_xml_header(gbfile *ofd)
{
char buff[128];
cet_cs_vec_t *cs = cet_find_cs_by_name(CET_CHARSET_ASCII);
snprintf(buff, sizeof(buff), " encoding=\"%s\"", global_opts.charset_name);
else
buff[0] = 0;
- fprintf(ofd, "<?xml version=\"1.0\"%s?>\n", buff);
+ gbfprintf(ofd, "<?xml version=\"1.0\"%s?>\n", buff);
}
void
-write_xml_entity(FILE *ofd, const char *indent,
+write_xml_entity(gbfile *ofd, const char *indent,
const char *tag, const char *value)
{
char *tmp_ent = xml_entitize(value);
- fprintf(ofd, "%s<%s>%s</%s>\n", indent, tag, tmp_ent, tag);
+ gbfprintf(ofd, "%s<%s>%s</%s>\n", indent, tag, tmp_ent, tag);
xfree(tmp_ent);
}
void
-write_optional_xml_entity(FILE *ofd, const char *indent,
+write_optional_xml_entity(gbfile *ofd, const char *indent,
const char *tag, const char *value)
{
if (value && *value)
}
void
-write_xml_entity_begin0(FILE *ofd, const char *indent,
+write_xml_entity_begin0(gbfile *ofd, const char *indent,
const char *tag)
{
- fprintf(ofd, "%s<%s>\n", indent, tag);
+ gbfprintf(ofd, "%s<%s>\n", indent, tag);
}
void
-write_xml_entity_begin1(FILE *ofd, const char *indent,
+write_xml_entity_begin1(gbfile *ofd, const char *indent,
const char *tag, const char *attr,
const char *attrval)
{
- fprintf(ofd, "%s<%s %s=\"%s\">\n", indent, tag, attr, attrval);
+ gbfprintf(ofd, "%s<%s %s=\"%s\">\n", indent, tag, attr, attrval);
}
void
-write_xml_entity_begin2(FILE *ofd, const char *indent,
+write_xml_entity_begin2(gbfile *ofd, const char *indent,
const char *tag, const char *attr1,
const char *attrval1, const char *attr2,
const char *attrval2)
{
- fprintf(ofd, "%s<%s %s=\"%s\" %s=\"%s\">\n", indent, tag, attr1, attrval1, attr2, attrval2);
+ gbfprintf(ofd, "%s<%s %s=\"%s\" %s=\"%s\">\n", indent, tag, attr1, attrval1, attr2, attrval2);
}
void
-write_xml_entity_end(FILE *ofd, const char *indent,
+write_xml_entity_end(gbfile *ofd, const char *indent,
const char *tag)
{
- fprintf(ofd, "%s</%s>\n", indent, tag);
+ gbfprintf(ofd, "%s</%s>\n", indent, tag);
}
void
-xml_fill_in_time(char *time_string, const time_t timep, int long_or_short)
+xml_fill_in_time(char *time_string, const time_t timep, int microseconds, int long_or_short)
{
struct tm *tm = gmtime(&timep);
char *format;
+ int n;
if (!tm) {
*time_string = 0;
}
if (long_or_short == XML_LONG_TIME)
- format = "%02d-%02d-%02dT%02d:%02d:%02dZ";
+ format = "%02d-%02d-%02dT%02d:%02d:%02d";
else
- format = "%02d%02d%02dT%02d%02d%02dZ";
- sprintf(time_string, format,
+ format = "%02d%02d%02dT%02d%02d%02d";
+ n = sprintf(time_string, format,
tm->tm_year+1900,
tm->tm_mon+1,
tm->tm_mday,
tm->tm_hour,
tm->tm_min,
tm->tm_sec);
+ if (microseconds) {
+ n += sprintf(time_string + n, ".%03d", microseconds / 1000);
+ }
+ time_string[n++] = 'Z';
+ time_string[n++] = '\0';
+
}
void
-xml_write_time(FILE *ofd, const time_t timep, char *elname)
+xml_write_time(gbfile *ofd, const time_t timep, int microseconds, char *elname)
{
char time_string[64];
- xml_fill_in_time(time_string, timep, XML_LONG_TIME);
+ xml_fill_in_time(time_string, timep, microseconds, XML_LONG_TIME);
if (time_string[0]) {
- fprintf(ofd, "<%s>%s</%s>\n",
+ gbfprintf(ofd, "<%s>%s</%s>\n",
elname,
time_string,
elname
/*
Header for our common utilities for XML-based formats.
- Copyright (C) 2004, 2005 Robert Lipe, robertlipe@usa.net
+ Copyright (C) 2004, 2005, 2006, 2007 Robert Lipe, robertlipe@usa.net
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
} xg_tag_mapping;
-void write_xml_entity(FILE *ofd, const char *indent,
+void write_xml_entity(gbfile *ofd, const char *indent,
const char *tag, const char *value);
-void write_xml_entity_begin0(FILE *ofd, const char *indent,
+void write_xml_entity_begin0(gbfile *ofd, const char *indent,
const char *tag);
-void write_xml_entity_begin1(FILE *ofd, const char *indent, const char *tag,
+void write_xml_entity_begin1(gbfile *ofd, const char *indent, const char *tag,
const char *attr1, const char *attrval1);
-void write_xml_entity_begin2(FILE *ofd, const char *indent, const char *tag,
+void write_xml_entity_begin2(gbfile *ofd, const char *indent, const char *tag,
const char *attr1, const char *attrval1,
const char *attr2, const char *attrval2);
-void write_xml_entity_end(FILE *ofd, const char *indent, const char *tag);
+void write_xml_entity_end(gbfile *ofd, const char *indent, const char *tag);
-void write_optional_xml_entity(FILE *ofd, const char *indent,
+void write_optional_xml_entity(gbfile *ofd, const char *indent,
const char *tag, const char *value);
-void xml_write_time(FILE *ofd, const time_t timep, char *elname);
-void xml_fill_in_time(char *time_string, const time_t timep,
+void xml_write_time(gbfile *ofd, const time_t timep, int microseconds, char *elname);
+void xml_fill_in_time(char *time_string, const time_t timep, int microseconds,
int long_or_short);
-void write_xml_header(FILE *ofd);
+void write_xml_header(gbfile *ofd);
void xml_ignore_tags(const char **taglist);
void xml_init(const char *fname, xg_tag_mapping *tbl,const char *encoding);